Submission #1249488

#TimeUsernameProblemLanguageResultExecution timeMemory
1249488tamzidWorld Map (IOI25_worldmap)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) { int K = 2 * N; // Safe size vector<vector<int>> grid(K, vector<int>(K, 0)); // Step 1: Assign 2x2 blocks for each country int x = 0, y = 0; for (int c = 1; c <= N; c++) { for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) grid[x + i][y + j] = c; x += 3; // leave 1 row gap if (x + 2 > K) { x = 0; y += 3; } // next column block } // Step 2: Add adjacencies // For each pair (A,B), just find a border cell to connect for (int i = 0; i < M; i++) { int a = A[i], b = B[i]; bool placed = false; for (int r = 0; r < K && !placed; r++) { for (int c = 0; c < K && !placed; c++) { if (grid[r][c] == a) { // Try right if (c+1 < K && grid[r][c+1] == 0) { grid[r][c+1] = b; placed = true; } // Try down else if (r+1 < K && grid[r+1][c] == 0) { grid[r+1][c] = b; placed = true; } } } } } return grid; }
#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...