Advertisement
Guest User

1

a guest
Feb 19th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 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.     }
  23. }
  24.  
  25. int main()
  26. {
  27.     int i, k, n, m, v1, v2, ch, kol;
  28.     cin >> n;
  29.     for (i = 1; i <= n; i++)
  30.         for (k = 1; k <= n; k++)
  31.         {
  32.             cin >> ch;
  33.             if (ch == 1)
  34.             {
  35.                 g[i].push_back(k);
  36.                 g[k].push_back(i);
  37.             }
  38.         }
  39.     for (i = 1; i <= n; i++)
  40.     {
  41.         if (!used[i])
  42.         {
  43.             col[i] = 1;
  44.             dfs(i);
  45.             for (k = 0; k < g[i].size(); k++)
  46.                 if (col[i] == col[g[i][k]])
  47.                 {
  48.                     cout << "NO";
  49.                     return 0;
  50.                 }
  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