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. ilo=0;
  25. int n;
  26. int m;
  27. scanf("%d%d",&n,&m);
  28. for(int j=0;j<m;j++)
  29. {
  30. int a,b;
  31. scanf("%d%d",&a,&b);
  32. krawedzie[a].push_back(b);
  33. krawedzie[b].push_back(a);
  34. }
  35. DFS(1);
  36. if(ilo==n)
  37. {
  38. printf("TAK\n");
  39. }
  40. else
  41. {
  42. printf("NIE\n");
  43. }
  44. for(int j=1;j<=n;j++)
  45. {
  46. vis[j]=0;
  47. }
  48. }
  49. }
Success #stdin #stdout 0.01s 39648KB
stdin
2
3 3
1 2
2 3
1 3

6 5
1 2
2 3
1 3
5 6
4 5
stdout
TAK
NIE