ZOJ 2475 Benny's Compiler(DFS)

来源:互联网 发布:淘宝网京剧服装青衣 编辑:程序博客网 时间:2024/05/01 13:39

主要用的是dfs

注意如果 x 引用x 那么是可以的.

#include <iostream>#include <cstdio>#include <memory.h>using namespace std;const int maxn = 110;int n, e;bool g[maxn][maxn], vis[maxn];bool dfs(int u){vis[u] = 1;for (int i = 1; i <= n; ++i){if(g[u][i] && u != i){if(vis[i])return false;else{vis[i] = 1;if(!dfs(i)) return false;vis[i] = 0;}}}return true;}int main(){while (scanf("%d", &n) && n > 0){memset(vis, 0, sizeof(vis));memset(g, false, sizeof(g));for (int i = 0; i < n; ++i){int u, v;scanf("%d %d", &u, &v);g[u][v] = 1;}scanf("%d", &e);if(dfs(e)){printf("Yes\n");}else{printf("No\n");}}return 0;}