Advertisement
gabrielcabezas

Untitled

Mar 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. vector <int> adj[2050];
  4. int N=100005;
  5. int vis[100005];
  6. int n,m,v,w,p,ok;
  7. void dfs (int x)
  8. {
  9. if (vis[x]) return;
  10. vis[x]=1;
  11. for (auto u : adj[x]) dfs(u);
  12. }
  13. int main()
  14. {
  15. while (1)
  16. {
  17. ok=1;
  18. scanf("%d %d",&n,&m);
  19. if (n==0 || m==0)break;
  20. for (int i=0;i<m;i++)
  21. {
  22.  
  23. scanf("%d %d %d",&v,&w,&p);
  24. if (p==1)
  25. {
  26. adj[v].push_back(w);
  27. }
  28. else
  29. {
  30. adj[v].push_back(w);
  31. adj[w].push_back(v);
  32. }
  33. }
  34. for (int i=1;i<=n;i++)
  35. {
  36. memset (vis, 0, sizeof vis);
  37. dfs(i);
  38. for (int j=1 ;j<=n;j++)
  39. {
  40. if (!vis[j])
  41. ok=0;
  42. }
  43. }
  44. for (int i=1;i<=n;i++)
  45. adj[i].clear();
  46. printf("%d\n", ok ? 1: 0);
  47.  
  48. }
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement