洛谷P1007 独木桥

题目

题意:

所有士兵都在独木桥上。每个士兵都有一个初始面对的方向,他们会以匀速朝着这个方向行走,中途不会自己改变方向。但是,如果两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。转身不需要任何的时间。问要用多少时间才能使所有士兵通过独木桥。

题解:

这题初看一点思路都没有,直接想到的是n^2模拟,但事实上很简单。
相遇其实相当于就是穿过对方,不用考虑对方的存在,每个士兵都是独立的,自己管自己走就行

标程:

#include
using namespace std;
int l,n,i,x,k,ma;
int main(){
    cin>>l>>n;
    for (i=1;i<=n;i++){
        scanf("%d",&x);
        ma=max(ma,max(x,l+1-x));
        k=max(min(x,l+1-x),k);
    }
    printf("%d %d",k,ma);
}

你可能感兴趣的:(模拟)