题意:在1000*2的格子里,在每个小时能派出两个警察在两个地点搜查小偷,求在2015小时内能抓住小偷的方案。
分析:首先每次扫过一列即i1 i2从左往右扫,这样会漏掉小偷正好从间隙穿过的情况,那么在1000的列再扫一次,从右往左扫,因为小偷每一次都要移动一格,改变奇偶性之后一定能抓住。
收获:原谅我智商低。。。。 详细解释
代码:
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int main(void) {
puts ("2000");
for (int i=1; i<=1000; ++i) {
printf ("%d 1 %d 2\n", i, i);
}
for (int i=1000; i>=1; --i) {
printf ("%d 1 %d 2\n", i, i);
}
return 0;
}