133812025-01-07 18:18:25xxxRácsháló gráfcpp17Accepted 50/508ms1332 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
int d[2000][2000];

int main() {
	int n, m, kk;
	cin >> n >> m >> kk;
	for(int i = 0; i < n; i++) {
		for(int j = 0; j < m; j++) {
			for(int k = 0; k < n; k++) {
				for(int l = 0; l < m; l++) {
					d[i*m+j][k*m+l] = abs(i-k) + abs(j-l);
				}
			}
		}
	}
	for(int h = 0; h < kk; h++) {
		int x, y;
		cin >> x >> y;
		x--, y--;
		int mins = 0;
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < m; j++) {
				for(int k = 0; k < n; k++) {
					for(int l = 0; l < m; l++) {
						d[i*m+j][k*m+l] = min(d[i*m+j][k*m+l], min(d[i*m+j][x]+d[y][k*m+l]+1, d[i*m+j][y]+d[x][k*m+l]+1));
						d[k*m+l][i*m+j]=d[i*m+j][k*m+l];
						mins = max(mins, d[i*m+j][k*m+l]);
					}
				}
			}
		}
		cout << mins << endl;
	}
	
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/07ms1332 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/22ms820 KiB
8Accepted2/22ms832 KiB
9Accepted2/22ms1012 KiB
10Accepted2/21ms568 KiB
11Accepted2/21ms616 KiB
12Accepted2/24ms1296 KiB
13Accepted3/34ms1076 KiB
14Accepted3/32ms820 KiB
15Accepted3/34ms1268 KiB
16Accepted3/32ms820 KiB
17Accepted3/34ms820 KiB
18Accepted3/32ms564 KiB
19Accepted3/31ms316 KiB
20Accepted3/31ms576 KiB
21Accepted3/32ms660 KiB
22Accepted3/38ms1332 KiB