1609 2022. 11. 29 05:58:10 kovacs.peter.18f Rácsháló gráf cpp11 Elfogadva 50/50 59ms 4412 KiB
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N, M, K;
    cin >> N >> M >> K;
    vector<vector<int>> neighbourS(N * M);
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            if (i - 1 >= 0) {
                neighbourS[i * M + j].push_back((i - 1) * M + j);
            }
            if (i + 1 < N) {
                neighbourS[i * M + j].push_back((i + 1) * M + j);
            }
            if (j - 1 >= 0) {
                neighbourS[i * M + j].push_back(i * M + j - 1);
            }
            if (j + 1 < M) {
                neighbourS[i * M + j].push_back(i * M + j + 1);
            }
        }
    }
    while (K--) {
        int A, B;
        cin >> A >> B;
        neighbourS[A - 1].push_back(B - 1);
        neighbourS[B - 1].push_back(A - 1);
        int maximum = 0;
        for (int i = 0; i < N * M; i++) {
            queue<int> currentS;
            currentS.push(i);
            vector<int> distanceS(N * M, -1);
            distanceS[i] = 0;
            while (!currentS.empty()) {
                int c = currentS.front();
                currentS.pop();
                maximum = max(maximum, distanceS[c]);
                for (auto e : neighbourS[c]) {
                    if (distanceS[e] == -1) {
                        distanceS[e] = distanceS[c] + 1;
                        currentS.push(e);
                    }
                }
            }
        }
        cout << maximum << '\n';
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1700 KiB
2 Elfogadva 0/0 57ms 1916 KiB
3 Elfogadva 2/2 2ms 2372 KiB
4 Elfogadva 2/2 2ms 2324 KiB
5 Elfogadva 2/2 2ms 2544 KiB
6 Elfogadva 2/2 3ms 2748 KiB
7 Elfogadva 2/2 4ms 2992 KiB
8 Elfogadva 2/2 4ms 3196 KiB
9 Elfogadva 2/2 4ms 3212 KiB
10 Elfogadva 2/2 3ms 3352 KiB
11 Elfogadva 2/2 4ms 3460 KiB
12 Elfogadva 2/2 9ms 3688 KiB
13 Elfogadva 3/3 27ms 3796 KiB
14 Elfogadva 3/3 4ms 3952 KiB
15 Elfogadva 3/3 28ms 4140 KiB
16 Elfogadva 3/3 4ms 4336 KiB
17 Elfogadva 3/3 24ms 4344 KiB
18 Elfogadva 3/3 9ms 4408 KiB
19 Elfogadva 3/3 2ms 4408 KiB
20 Elfogadva 3/3 3ms 4404 KiB
21 Elfogadva 3/3 12ms 4408 KiB
22 Elfogadva 3/3 59ms 4412 KiB