Submission #1280663

#TimeUsernameProblemLanguageResultExecution timeMemory
1280663algoriderWorld Map (IOI25_worldmap)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

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

    // Step 2: Set grid size K (safe and small)
    int K = min(2 * N, 240);

    vector<vector<int>> C(K, vector<int>(K, 1));

    // Step 3: Initial coloring pattern
    for (int i = 0; i < K; ++i) {
        for (int j = 0; j < K; ++j) {
            C[i][j] = (i + j) % N + 1;
        }
    }

    // Step 4: Ensure all adjacencies (optional fix)
    // We can tweak small zones to enforce each adjacency pair explicitly
    int row = 0;
    for (int i = 0; i < M; ++i) {
        if (row + 1 < K) {
            C[row][0] = A[i];
            C[row + 1][0] = B[i];
            row += 2;
        }
    }

    // Step 5: Return the grid
    return C;
}

// --- For Local Testing / Sample Grader ---
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T; cin >> T;
    while (T--) {
        int N, M; cin >> N >> M;
        vector<int> A(M), B(M);
        for (int i = 0; i < M; ++i) cin >> A[i] >> B[i];

        auto C = create_map(N, M, A, B);
        int P = C.size();
        cout << P << "\n";
        for (int i = 0; i < P; ++i) cout << P << " ";
        cout << "\n";
        for (int i = 0; i < P; ++i) {
            for (int j = 0; j < P; ++j) cout << C[i][j] << " ";
            cout << "\n";
        }
    }
    return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccg7q7hM.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccbYFuNF.o:worldmap.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status