洛谷 P1007 独木桥

LHY大佬给我做的题。。
思维题。。
难度是普及-。。。
然而我想来想去都没有弄出来QAQ

解题的关键点在于当两个人相遇时,下一秒各自回头并向前走
那么我们可以看做人不回头,直接向前走
那么最短时间就是离中点最近的人向外走
最长时间就是离中点最远的人向中点走,并越过终点走到出口

在这里存下做法吧

#include
#include
#include
#include
using namespace std;
int L,n;
int main()
{
    int maxx=0,minn=0;
    scanf("%d",&L);
    scanf("%d",&n);
    for (int u=1;u<=n;u++)
    {
        int x;
        scanf("%d",&x);
        maxx=max(maxx,max(x,L-x+1));
        minn=max(minn,min(x,L-x+1));
    }
    printf("%d %d\n",minn,maxx);
    return 0;
}

你可能感兴趣的:(不想分类的)