Submission #1168908

#TimeUsernameProblemLanguageResultExecution timeMemory
1168908hamzabcMake them Meet (EGOI24_makethemmeet)C++20
13 / 100
4 ms580 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define mod 1000000007 #define sp << " " << #define endl << '\n' long long int N, M; vector<vector<int>> graph; vector<vector<int>> matrix; vector<int> p1, p2; vector<int> vis; void dfs(int n, int parity){ vis[n] = true; for (auto go : graph[n]){ if (vis[go]) continue; if (parity){ p2[go] = p2[n]; }else{ p1[go] = p1[n]; } dfs(go, 1 - parity); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> M; graph.resize(N); matrix.resize(N, vector<int>(N)); p1.resize(N); p2.resize(N); vis.resize(N, false); for (int i = 0; i < M; i++){ int a, b; cin >> a >> b; matrix[a][b] = 1; matrix[b][a] = 1; graph[a].push_back(b); graph[b].push_back(a); } for (int i = 0; i < N; i++){ p1[i] = i + 1; p2[i] = i + 1; matrix[i][i] = 1; } int root = -1; for (int i = 0; i < N; i++){ for (auto j : graph[i]){ for (auto u : graph[j]){ if (matrix[i][u] == 0){ p2[j] = p2[u] = p2[i]; vis[u] = true; vis[j] = true; dfs(i, 0); dfs(u, 0); dfs(j, 1); root = j; break; } } if (root != -1) break; } if (root != -1) break; } if (root == -1) dfs(0, 0); cout << 600 endl; for (int i = 0; i < 300; i++){ for (int k = 0; k < N; k++) cout << p2[k] sp ""; cout endl; for (int k = 0; k < N; k++) cout << p1[k] sp ""; cout endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...