fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. vector <int> krawedzie[1000007];
  4. bool vis[1000007];
  5. int ilo=0;
  6. void DFS(int x)
  7. {
  8. vis[x]=1;
  9. ilo++;
  10. for(int j=0;j<krawedzie[x].size();j++)
  11. {
  12. if(vis[krawedzie[x][j]]!=1)
  13. {
  14. DFS(krawedzie[x][j]);
  15. }
  16. }
  17. }
  18. int main()
  19. {
  20. int t;
  21. scanf("%d",&t);
  22. for(int i=0;i<t;i++)
  23. {
  24. int n;
  25. int m;
  26. scanf("%d%d",&n,&m);
  27. for(int j=0;j<m;j++)
  28. {
  29. int a,b;
  30. scanf("%d%d",&a,&b);
  31. krawedzie[a].push_back(b);
  32. krawedzie[b].push_back(a);
  33. }
  34. DFS(1);
  35. if(ilo==n)
  36. {
  37. printf("TAK\n");
  38. }
  39. else
  40. {
  41. printf("NIE\n");
  42. }
  43. for(int j=1;j<=n;j++)
  44. {
  45. vis[j]=0;
  46. }
  47. }
  48. }
Success #stdin #stdout 0s 39648KB
stdin
1
8 7
1 2
2 3
3 4
4 1
5 6
6 7
7 8
stdout
NIE