题意:
所有士兵都在独木桥上。每个士兵都有一个初始面对的方向,他们会以匀速朝着这个方向行走,中途不会自己改变方向。但是,如果两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。转身不需要任何的时间。问要用多少时间才能使所有士兵通过独木桥。
题解:
这题初看一点思路都没有,直接想到的是n^2模拟,但事实上很简单。
相遇其实相当于就是穿过对方,不用考虑对方的存在,每个士兵都是独立的,自己管自己走就行
标程:
#include<bits/stdc++.h>
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);
}