// 从起点开始DFS会TLE。逆向思维:从终点开始,AC
#include <iostream>
#include <cstring>
using namespace std;
bool r[202][202];
int n, m;
bool flag;
void find(int dst) {
if (!dst) {
flag = true;
return;
}
for (int i = 0; i < n; i++) {
if (flag)
break;
if (r[i][dst])
find(i);
}
}
int main(int argc, char **argv) {
while (cin >> n && n) {
flag = false;
memset(r, false, sizeof(r));
cin >> m;
int from, to;
for (int i = 0; i < m; i++) {
cin >> from >> to;
r[from][to] = true;
}
find(n - 1);
if (flag)
cout << "I can post the letter" << endl;
else
cout << "I can't post the letter" << endl;
}
return 0;
}
Sicily 1155. Can I Post the lette
最新推荐文章于 2016-02-14 17:43:41 发布