Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool used[MAXN] {false};
- int color[MAXN];
- vector <vector <int>> v;
- bool flag = true;
- vector <bool> clr;
- int k;
- void dfs(int node) {
- used[node] = true;
- //comp.push_back(node);
- int clr[k];
- for (auto to : v[node]) {
- clr[to] = color[to];
- }
- for (auto to : v[node]) {
- // if (!used[to]) {
- // dfs(to);
- // }
- if (clr[to] == -1) {
- }
- }
- }
- void task3() {
- int n, m;
- cin >> n >> m >> k;
- for (int i = 0; i < n; i++) {
- cin >> color[i];
- }
- clr.resize(k);
- v.resize(n);
- for (int i = 0; i < m; i++) {
- int a, b;
- cin >> a >> b;
- a--, b--;
- v[a].push_back(b);
- v[b].push_back(a);
- }
- for (int i = 0; i < n; i++) {
- clr.clear();
- dfs(i);
- // int klr[k + 1];
- // for (int i = 0; i < comp.size(); i++) {
- // if (comp[i] == -1) {
- //
- // }
- // }
- }
- if (flag) {
- cout << "YES";
- for (int i = 0; i < n; i++) {
- cout << color[i];
- }
- }
- else {
- cout << "NO";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement