Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> adj[2050];
- vector <int> vis;
- int n,m,v,w,p,ok;
- void dfs (int x)
- {
- if (vis[x]) return;
- vis[x]=1;
- for (auto u : adj[x]) dfs(u);
- }
- int main()
- {
- while (1)
- {
- ok=1;
- scanf("%d %d",&n,&m);
- if (n==0 || m==0)break;
- for (int i=1;i<=m;i++)
- {
- scanf("%d %d %d",&v,&w,&p);
- if (p==1)
- {
- adj[v].push_back(w);
- }
- else
- {
- adj[v].push_back(w);
- adj[w].push_back(v);
- }
- }
- for (int i=1;i<=n;i++)
- {
- vis.clear();
- dfs(i);
- for (int j=1 ;j<=n;j++)
- {
- if (!vis[j])
- ok=0;
- }
- }
- for (int i=1;i<=n;i++)
- adj[i].clear();
- printf("%d\n", ok ? 1: 0);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement