求助,只有第一个没过
  • 板块P1007 独木桥
  • 楼主silly_boy
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/11/21 21:54
  • 上次更新2023/10/27 02:00:55
查看原帖
求助,只有第一个没过
892498
silly_boy楼主2022/11/21 21:54
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
float j(float x)
{
    float b = -x;
    return (x > b ? x : b);
}
int main()
{
    float l, * p;
    int  n,i;
    scanf("%f", &l);
    l += 1;//因为中点坐标是(l+1)/2,这里加一
    scanf("%d", &n);
    p = (float*)malloc(n * sizeof(float));
    for (i = 0; i < n; i++)
    {
        scanf("%f", &p[i]);
        p[i] = j(p[i] - l / 2.0);//求各个士兵到中点距离
    }
    float x = p[0],y=x;
    for (i = 0; i < n; i++)
    {
        if (p[i] > x)
            x = p[i];//找两头的士兵
        if (p[i] < y)
            y = p[i];//找中间的士兵
    }
    int a = l / 2.0  + x, b = l / 2.0 - y;
    printf("%d %d", b, a);
    return 0;
}
2022/11/21 21:54
加载中...