首页 > 代码库 > UVa11175 From D to E and Back (结论)
UVa11175 From D to E and Back (结论)
链接:http://bak2.vjudge.net/problem/UVA-11175
分析:AE->EB&&CE->EB说明AE和CE都在用E表示的集合中,那么AE连向任何一个结点,CE也必定有向那个结点连边。总结:如果存在i和j都有连向k1的边,而i和j中只有一个结点连向k2,那么这个有向图E是不可能由有向图D转化来的。
1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 5 const int maxn = 300 + 5; 6 7 int m, k; 8 int G[maxn][maxn]; 9 10 int main() {11 int T;12 scanf("%d", &T);13 for (int kase = 1; kase <= T; kase++) {14 memset(G, 0, sizeof(G));15 scanf("%d%d", &m, &k);16 while (k--) {17 int x, y;18 scanf("%d%d", &x, &y);19 G[x][y] = 1;20 }21 bool ok = true;22 for (int i = 0; i < m; i++)23 for (int j = i + 1; j < m; j++) {24 int f1 = 0, f2 = 0;25 for (int k = 0; k < m; k++) {26 if (G[i][k] && G[j][k]) f1 = 1;27 if (G[i][k] ^ G[j][k]) f2 = 1;28 }29 if (f1 && f2) { ok = false; break; }30 }31 printf("Case #%d: ", kase);32 if (ok) printf("Yes\n");33 else printf("No\n");34 }35 return 0;36 }
UVa11175 From D to E and Back (结论)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。