133882025-01-07 18:38:21RicsiRácsháló gráfcpp17Wrong answer 0/5024ms688 KiB
#include <iostream>
#include <vector>
using namespace std;

bool g[201][201];
int dis[201][201];

int main() {
	int n, m, k; cin >> n >> m >> k;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			if (i != 1) g[(i - 1) * m + j][(i - 2) * m + j] = true;
			if (i != n) g[(i - 1) * m + j][i * m + j] = true;
			if (j != 1)g[(i - 1) * m + j][(i - 1) * m + j - 1] = true;
			if(j!=m)g[(i - 1) * m + j][(i - 1) * m + j + 1] = true;
		}
	}
	for (int i = 1; i <= n*m; i++) {
		for (int j = 1; j <= n * m; j++) {
			if (g[i][j])dis[i][j] = 1;
			else dis[i][j] = 100000;
			if (i == j)dis[i][j] = 0;
		}
	}
	for (int x = 1; x <= n * m; x++) {
		for (int i = 1; i <= n * m; i++) {
			for (int j = 1; j <= n * m; j++) {
				dis[i][j] = min(dis[i][j], dis[i][x] + dis[x][j]);
			}
		}
	}
	for (int i = 1; i <= n * m; i++) {
		for (int j = 1; j <= n * m; j++) {
			cout << dis[i][j] << ' ';
		}
		cout << '\n';
	}
	while (k--) {
		int u, v; cin >> u >> v;
		for (int i = 1; i <= n * m; i++) {
			for (int j = 1; j <= n * m; j++) {
				dis[i][j] = min(dis[i][j], min(dis[i][u] + dis[v][j] + 1, dis[i][v] + dis[u][j] + 1));
				dis[j][i] = min(dis[i][j], min(dis[i][u] + dis[v][j] + 1, dis[i][v] + dis[u][j] + 1));
			}
		}
		int maxe = 0;
		for (int i = 1; i <= n * m; i++) {
			for (int j = 1; j <= n * m; j++) {
				if (i != j)maxe = max(maxe, dis[i][j]);
			}
		}
		cout << maxe << '\n';
	}
}

SubtaskSumTestVerdictTimeMemory
base0/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/024ms596 KiB
3Wrong answer0/21ms316 KiB
4Wrong answer0/21ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/24ms392 KiB
8Wrong answer0/24ms316 KiB
9Wrong answer0/24ms316 KiB
10Wrong answer0/22ms316 KiB
11Wrong answer0/24ms336 KiB
12Wrong answer0/217ms688 KiB
13Wrong answer0/312ms564 KiB
14Wrong answer0/34ms352 KiB
15Wrong answer0/310ms556 KiB
16Wrong answer0/34ms316 KiB
17Wrong answer0/38ms544 KiB
18Wrong answer0/34ms316 KiB
19Wrong answer0/31ms316 KiB
20Wrong answer0/32ms532 KiB
21Wrong answer0/34ms344 KiB
22Wrong answer0/323ms600 KiB