7294 2024. 01. 06 12:44:38 anon Ciklikus rácsháló gráf cpp17 Elfogadva 40/40 395ms 3644 KiB
#include <bits/stdc++.h>
#define MOD(a, b) ((((a) % (b)) + (b)) % (b))
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
const ll INF = (1LL << 62);
const ll D4[][2] = {{ -1, 0 }, { 0, -1 }, { 0, 1 }, { 1, 0 }};
int main() {
    FastIO;
    ll i, j, u, v, nx, ny, ans, N, M, K;
    cin >> N >> M >> K;
    vector<vector<ll>> graph(N * M + 1);
    while(K--) {
        cin >> u >> v;
        graph[u].push_back(v);
        graph[v].push_back(u);
        ans = -INF;
        for(i = 1; i <= ((N * M) < 180 ? (N * M) : ((N * M) / 2 + 1)); i++) {
            vector<bool> vis(N * M + 1, false);
            queue<array<ll, 2>> q;
            q.push({ i, 0 });
            while(!q.empty()) {
                auto [cv, d] = q.front();
                q.pop();
                if(vis[cv])
                    continue;
                vis[cv] = true;
                ans = max(ans, d);
                for(j = 0; j < 4; j++) {
                    nx = MOD((cv - 1) % M + D4[j][0], M);
                    ny = MOD((cv - 1) / M + D4[j][1], N);
                    u = ny * M + nx + 1;
                    if(!vis[u])
                        q.push({ u, d + 1 });
                }
                for(const auto &x : graph[cv]) {
                    if(!vis[x])
                        q.push({ x, d + 1});
                }
            }
        }
        cout << ans << '\n';
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 395ms 2072 KiB
3 Elfogadva 2/2 3ms 2236 KiB
4 Elfogadva 2/2 4ms 2448 KiB
5 Elfogadva 2/2 6ms 2536 KiB
6 Elfogadva 2/2 7ms 2752 KiB
7 Elfogadva 2/2 39ms 3000 KiB
8 Elfogadva 2/2 39ms 3284 KiB
9 Elfogadva 2/2 39ms 3292 KiB
10 Elfogadva 2/2 18ms 3400 KiB
11 Elfogadva 2/2 39ms 3540 KiB
12 Elfogadva 2/2 101ms 3432 KiB
13 Elfogadva 2/2 347ms 3428 KiB
14 Elfogadva 2/2 52ms 3428 KiB
15 Elfogadva 2/2 351ms 3528 KiB
16 Elfogadva 2/2 41ms 3616 KiB
17 Elfogadva 2/2 293ms 3644 KiB
18 Elfogadva 2/2 104ms 3504 KiB
19 Elfogadva 2/2 6ms 3492 KiB
20 Elfogadva 2/2 9ms 3492 KiB
21 Elfogadva 2/2 128ms 3620 KiB
22 Elfogadva 2/2 395ms 3504 KiB