求助,在vscode里结果还是对的
  • 板块P1007 独木桥
  • 楼主GFX123
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/11/30 20:15
  • 上次更新2023/11/3 23:12:31
查看原帖
求助,在vscode里结果还是对的
611619
GFX123楼主2021/11/30 20:15
#include <stdio.h>
#include <stdlib.h>
int Min(int L,int n1[],int n1l)
{
    int i;
    int a;
    int b;
    int *min;
    int minnmax;
    min = (int*)malloc(n1l*sizeof(int));
    a = L/2;
    for (i=0;i<n1l;i++)
    {
        if(n1[i]<=L/2)
            a = n1[i];
        if(n1[i]>L/2)
            b = (L+1)-n1[i];
        if(a>b)
            min[i]=a;
        else
            min[i]=b;
    }
    minnmax = min[0];
    for (i=0;i<n1l;i++)
        if(minnmax<min[i])
            minnmax=min[i];
    return minnmax;
}
int Max(int L,int n1[],int n1l)
{
    int i;
    int *max;
    int maxest;
    max = (int*)malloc(n1l*sizeof(int));//生成保存最大值的动态数组
    for (i=0;i<n1l/4;i++)
    {
        if(n1[i]>(L+1)-n1[i])
            max[i] = n1[i];
        else
            max[i] = (L+1)-n1[i];
    }
    maxest = max[0];
    for (i=0;i<n1l;i++)
        if(maxest<max[i])
            maxest=max[i];
    return maxest;
}
int main()
{
    int L;
    int n,*n1;
    int i;
    int n1l;
    scanf("%d",&L);
    scanf("%d",&n);
    n1 = (int*)malloc(n*sizeof(int));
    for (i=0;i<n;i++)
        scanf("%d",&n1[i]);
    n1l = sizeof(n1); 		printf("%d%d",Min(L,n1,n1l),Max(L,n1,n1l));
    return 0;
}
```![](file:///D:/Download/%E6%9C%AA%E6%A0%87%E9%A2%98-1.jpg)
2021/11/30 20:15
加载中...