# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1250019 | testacc11 | World Map (IOI25_worldmap) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
// create_map: constructs a KxK color grid for N countries and given M adjacency pairs.
// Should be linked with external grader providing main().
vector<vector<int>> create_map(int N, int M,
const vector<int>& A,
const vector<int>& B) {
// Simple construction: K = min(240, 2*M+1), at least 2
int K = min(240, 2 * M + 1);
if (K < 2) K = 2;
vector<vector<int>> C(K, vector<int>(K, 1));
// Place each adjacency as a vertical pair in its own column
for (int i = 0; i < M && i < K; ++i) {
C[0][i] = A[i];
C[1][i] = B[i];
}
// Ensure every country appears at least once
for (int j = 1; j <= N; ++j) {
bool used = false;
for (int i = 0; i < M && i < K; ++i) {
if (A[i] == j || B[i] == j) { used = true; break; }
}
if (!used) {
C[K-1][K-1] = j;
}
}
return C;
}