蚂蚁牙黑蚂蚁牙黑
题目链接:http://poj.org/problem?id=1852
暴力穷举是O(2^n)的复杂度,蚂蚁表示鸭梨很大。
首先,最短时间(mint),蚂蚁们说:“我们要朝着离我们最短的一端走。”
看来蚂蚁的智慧不容小觑,这样一来,既不会发生相遇,也不会有更短的时间走到端点。
其次最长时间(maxt),蚂蚁们又说:“忽略我们的差异。”
也就是说,当两只蚂蚁相遇的时候,可以认为是保持原样交错而过,
因为这样继续前进也不会有任何问题。
蚂蚁又说:“我已经写好了代码。”
#include<cstdio>
#include<algorithm>
using namespace std;
int place[1000010];
int main() {
int T;
scanf("%d", &T);
while (T--) {
for (int i = 0; i < 1000010; i ++)
place[i] = -1;
int len, n;
scanf("%d%d", &len, &n);
for (int i = 0; i < n; i ++){
scanf("%d", &place[i]);
}
int mint = 0;
int maxt = 0;
for (int i = 0; i < n; i ++){
mint = max(mint, min(place[i], len - place[i]));
maxt = max(maxt, max(place[i], len - place[i]));
}
printf("%d %d\n", mint, maxt);
}
return 0;
}
买了一本六级词汇乱序版,我拿起来,又放了下去。
你懂我的意思吧?
最后,另一只蚂蚁说: