问题:

  • 解决思路:
  • 我们想考虑一下如果两只蚂蚁相遇了的情形:
  • 发现每只蚂蚁都可以看成相遇后仍然不调转方向,因为问题本身不关注个体的蚂蚁,在我们看来所有的蚂蚁都是一样的。

代码如下:

#include<bits/stdc++.h>
#define MAX_N 100

int max(int x,int y)
{
    if(x-y>0)
        return x;
    else return y;
}

int min(int x,int y)
{
    if(x-y>0)
        return y;
    else return x;
}

int main()
{
    int L,n;
    int minT,maxT;
    int a[MAX_N];  //用来收集每只蚂蚁的信息
    scanf("%d%d",&L,&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=1;i<=n;i++)
    {
        minT = max(minT,min(a[i],L-a[i]));
        maxT = max(maxT,max(a[i],L-a[i]));
    }
    printf("min:%d max:%d",minT,maxT);
    return 0;
}
/*
10 3
2
6
7
min:4 max:8
*/