Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> g[101];
- bool used[101];
- int col[101];
- void dfs (int v)
- {
- used[v] = true;
- for (int i = 0; i < g[v].size(); i++)
- {
- if (!used[g[v][i]])
- {
- if (col[v] == 1)
- col[g[v][i]] = 2;
- else
- col[g[v][i]] = 1;
- dfs(g[v][i]);
- }
- }
- }
- int main()
- {
- int i, k, n, m, v1, v2, ch, kol;
- cin >> n;
- for (i = 1; i <= n; i++)
- for (k = 1; k <= n; k++)
- {
- cin >> ch;
- if (ch == 1)
- {
- g[i].push_back(k);
- g[k].push_back(i);
- }
- }
- for (i = 1; i <= n; i++)
- {
- if (!used[i])
- {
- col[i] = 1;
- dfs(i);
- for (k = 0; k < g[i].size(); k++)
- if (col[i] == col[g[i][k]])
- {
- cout << "NO";
- return 0;
- }
- }
- }
- cout << "YES\n";
- for (i = 1; i <= n; i++)
- cout << col[i] << " ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement