1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#include <cstring> #include <vector> using namespace std;
int t,n,m; int color[10010]; vector<int> G[50000];
bool (int v,int c) { color[v]=c; int i; for(i=0;i<G[v].size();++i) { if(color[G[v][i]]==c) return false; if(color[G[v][i]]==0) if(!dfs(G[v][i], -c)) return false; } return true; }
void solve() { int i; for(i=0;i<n;++i) { if(color[i]==0) { if(!dfs(i,1)) { printf("Wrongn"); return; } } } printf("Correctn"); }
int main() { scanf("%d",&t); while(t--) { memset(color,0,sizeof(color)); scanf("%d%d",&n,&m); int i; for(i=0;i<=n;++i) G[i].clear(); for(i=0;i<m;++i) { int u,v; scanf("%d%d",&u,&v); G[u].push_back(v); G[v].push_back(u); } solve(); } return 0; }
|
近期评论