Submission #1287218

#TimeUsernameProblemLanguageResultExecution timeMemory
1287218ecen30World Map (IOI25_worldmap)C++20
0 / 100
1 ms572 KiB
//testing AI code
#include "worldmap.h"
#include <vector>
#include <set>
using namespace std;

vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) {
    // Step 1: Build adjacency sets
    vector<set<int>> adj(N + 1);
    for (int i = 0; i < M; i++) {
        adj[A[i]].insert(B[i]);
        adj[B[i]].insert(A[i]);
    }

    // Step 2: Decide grid size K
    int K = N * 2; // simple safe choice: 2N x 2N grid

    // Step 3: Initialize empty grid
    vector<vector<int>> grid(K, vector<int>(K, 0));

    // Step 4: Place each country in a diagonal stripe
    for (int c = 1; c <= N; c++) {
        for (int i = 0; i < K; i++) {
            int x = (i + c - 1) % K;
            int y = i;
            grid[x][y] = c;
        }
    }

    // Step 5: Make sure adjacent countries are next to each other
    int placed = 0;
    for (int i = 0; i < M; i++) {
        int u = A[i], v = B[i];
        int x = placed % K;
        int y = (placed + 1) % K;
        grid[x][y] = u;
        grid[x][(y + 1) % K] = v;
        placed++;
    }

    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...