fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool odw[500002];
  4. vector<bool> wyn;
  5. int main()
  6. {
  7. ios_base::sync_with_stdio(0);
  8. cin.tie(0);
  9. int n,m;
  10. cin>>n>>m;
  11. vector<vector<int>> vec;
  12. for(int i=0;i<n;i++)
  13. {
  14. vector<int> a;
  15. vec.push_back(a);
  16. }
  17. wyn.resize(n+1);
  18. for(int i=0;i<m;i++)
  19. {
  20. int a,b;cin>>a>>b;
  21. vec[a].push_back(b);
  22. vec[b].push_back(a);
  23. }
  24. queue<pair<int,int>> que;
  25. for(int i=1;i<=n;i++)
  26. {
  27. if(odw[i]==1)
  28. continue;
  29. que.push({i,1});
  30. //cout<<i<<' '<<vec[i].size()<<endl;
  31. if(vec[i].size()==0)
  32. {
  33. cout<<"NIE";
  34. return 0;
  35. }
  36. while(!que.empty())
  37. {
  38. pair<int,bool> a=que.front();
  39. que.pop();
  40. odw[a.first]=1;
  41. wyn[a.first]=a.second;
  42. for(auto x:vec[a.first])
  43. {
  44. if(odw[x]==0)
  45. {
  46. pair<int,bool> par={x,(a.second-1)*(-1)};
  47. que.push(par);
  48. }
  49. }
  50.  
  51. }
  52. }
  53. cout<<"TAK";
  54. for(int i=1;i<=n;i++)
  55. {
  56. if(wyn[i])
  57. {
  58. cout<<endl<<'K';
  59. }
  60. else
  61. cout<<endl<<'S';
  62. }
  63. }
  64.  
Success #stdin #stdout 0.01s 5284KB
stdin
3 3
2 1
2 3
1 3
stdout
TAK
K
S
K