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 |