标签:lse bsp std cas class 有向图 size image tin
题目:
思路:
如图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\n",o); } else { printf("Case #%d: Yes\n",o); } } return 0; }
UVA - 11175 From D to E and Back(思路)
标签:lse bsp std cas class 有向图 size image tin
原文地址:https://www.cnblogs.com/sykline/p/10354643.html