UVA - 11175 From D to E and Back(思路)
Posted sykline
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA - 11175 From D to E and Back(思路)相关的知识,希望对你有一定的参考价值。
题目:
思路:
如图E:图中a、b、c、d是有向图D中的顶点,如果ac、bc都指向cd,而ac又指向ce,那bc同样应该有一条指向ce的边不然就不能从图D转换来。所以直接枚举顶点就可以了。
代码:
#include <bits/stdc++.h> #define inf 0x3f3f3f3f #define MAX 1e3 #define FRE() freopen("in.txt","r",stdin) #define FRO() freopen("out.txt","w",stdout) using namespace std; typedef long long ll; typedef pair<int, int> P; const int maxn = 310; int mp[maxn][maxn]; int m,k; bool judge() { for(int i=0; i<m; i++) { for(int j=0; j<m; j++) { if(i==j) continue; bool ok=true,ook=true; for(int p=0; p<m; p++) { if(i==p||j==p) continue; if(mp[i][p] && !mp[j][p]) { ook = false; } if(mp[j][p] && !mp[i][p]) { ook = false; } if(mp[i][p] && mp[j][p]) { ok = false; } } if(!ok&&!ook){ return false; } } } return true; } int main() { //FRE(); int kase,st,en; scanf("%d",&kase); for(int o=1; o<=kase; o++) { memset(mp,0,sizeof(mp)); scanf("%d%d",&m,&k); for(int i=0; i<k; i++) { scanf("%d%d",&st,&en); mp[st][en] = 1; } if(!judge()) { printf("Case #%d: No ",o); } else { printf("Case #%d: Yes ",o); } } return 0; }
以上是关于UVA - 11175 From D to E and Back(思路)的主要内容,如果未能解决你的问题,请参考以下文章
11175-From D to E and Back(思维)
UVA - 12661 Funny Car Racing (Dijkstra算法)
So you want to be a 2n-aire? UVA - 10900(概率)