Submission #1256311

#TimeUsernameProblemLanguageResultExecution timeMemory
1256311arafatbot144World Map (IOI25_worldmap)C++20
0 / 100
1 ms584 KiB
#include <iostream> #include <vector> #include <numeric> #include <algorithm> std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) { std::vector<std::vector<bool>> adj(N + 1, std::vector<bool>(N + 1, false)); for (int i = 0; i < M; ++i) { adj[A[i]][B[i]] = true; adj[B[i]][A[i]] = true; } if (M == N * (N - 1) / 2) { int K = N; std::vector<std::vector<int>> map(K, std::vector<int>(K)); for (int i = 0; i < K; ++i) { for (int j = 0; j < K; ++j) { map[i][j] = (i + j) % N + 1; } } return map; } int K = 2 * N; std::vector<std::vector<int>> map(K, std::vector<int>(K)); for (int i = 1; i <= N; ++i) { for (int row = 2 * (i - 1); row <= 2 * (i - 1) + 1; ++row) { for (int col = 2 * (i - 1); col <= 2 * (i - 1) + 1; ++col) { map[row][col] = i; } } } for (int i = 0; i < M; ++i) { int u = A[i]; int v = B[i]; map[2 * (u - 1)][2 * (v - 1)] = u; map[2 * (u - 1) + 1][2 * (v - 1)] = u; map[2 * (u - 1)][2 * (v - 1) + 1] = v; map[2 * (u - 1) + 1][2 * (v - 1) + 1] = v; map[2 * (v - 1)][2 * (u - 1)] = v; map[2 * (v - 1) + 1][2 * (u - 1)] = v; map[2 * (v - 1)][2 * (u - 1) + 1] = u; map[2 * (v - 1) + 1][2 * (u - 1) + 1] = u; } for (int i = 0; i < K; ++i) { for (int j = 0; j < K; ++j) { if (map[i][j] == 0) { map[i][j] = (i / 2) + 1; } } } return map; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...