乐死了
首先是题意不清:
(2)每个0格只能到达一次,给出的起始点不能再到达,也不能越过。
原文中是这样的,这个意思明显是虽然到达过的 0 不能到达,但是可以越过,但是 WA 了,翻看题解后是所有 0 格到过都不能越过,所以建议把 给出的起始点 改为 到达过的点。
还有输入格式:
数与数之间用一个空格分隔。
但是样例都是两个空格分隔。
然后是 Hack,题解中几乎都写了:
由于 n 只有 100,因此可以用爆搜
但是在数据:
# include <bits/stdc++.h>
using namespace std;
int main () {
freopen ("data.txt", "w", stdout);
printf ("100 50 50\n");
for (int i = 1; i <= 100; i++, putchar (10))
for (int j = 1; j <= 100; j++) printf ("%d ", (i % 2 == 0 && j % 2 == 0) ? 0 : 1);
return 0;
}
题解中除了 UperFicial 的代码看不到以外都会获得 TLE 的好成绩。
原本的数据中只有一个点的数据 n>15,太水了,这个数据范围看着就是不可 dfs 的,想不出来看题解大受震撼,另外征求正解。