Advertisement
Guest User

1

a guest
Feb 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector <int> g[101];
  6. bool used[101];
  7. int col[101];
  8.  
  9. void dfs (int v)
  10. {
  11.     used[v] = true;
  12.     for (int i = 0; i < g[v].size(); i++)
  13.     {
  14.         if (!used[g[v][i]])
  15.         {
  16.             if (col[v] == 1)
  17.                 col[g[v][i]] = 2;
  18.             else
  19.                 col[g[v][i]] = 1;
  20.             dfs(g[v][i]);
  21.         }
  22.         else
  23.             if (col[g[v][i]] == col[v])
  24.             {
  25.                 cout << "NO";
  26.                 exit(0);
  27.             }
  28.     }
  29. }
  30.  
  31. int main()
  32. {
  33.     int i, k, n, m, v1, v2, ch, kol;
  34.     cin >> n;
  35.     for (i = 1; i <= n; i++)
  36.         for (k = 1; k <= n; k++)
  37.         {
  38.             cin >> ch;
  39.             if (ch == 1)
  40.             {
  41.                 g[i].push_back(k);
  42.                 g[k].push_back(i);
  43.             }
  44.         }
  45.     for (i = 1; i <= n; i++)
  46.     {
  47.         if (!used[i])
  48.         {
  49.             col[i] = 1;
  50.             dfs(i);
  51.         }
  52.     }
  53.     cout << "YES\n";
  54.     for (i = 1; i <= n; i++)
  55.         cout << col[i] << " ";
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement