128382025-01-02 01:11:51BucsMateRácsháló gráfcpp17Accepted 50/506ms748 KiB
#include <iostream>

using namespace std;

int minDist[201][201];

int main()
{
    int N, M, K;
    cin >> N >> M >> K;

    for(int i = 1; i <= N*M; i++){
        for(int j = 1; j <= N*M; j++){
            minDist[i][j] = abs((i-1)/M - (j-1)/M) + abs((i-1)%M - (j-1)%M);
        }
    }

    int lepesszam;
    for(int l = 0; l < K; l++){
        lepesszam = 0;
        int a, b;
        cin >> a >> b;
        for(int i = 1; i <= N*M; i++){
            for(int j = 1; j <= N*M; j++){
                minDist[i][j] = min(minDist[i][j], min(minDist[i][a] + minDist[b][j] + 1, minDist[i][b] + minDist[a][j] + 1));
                lepesszam = max(lepesszam, minDist[i][j]);
            }
        }
        cout << lepesszam << endl;
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms320 KiB
2Accepted0/06ms320 KiB
3Accepted2/21ms320 KiB
4Accepted2/21ms508 KiB
5Accepted2/21ms320 KiB
6Accepted2/21ms572 KiB
7Accepted2/21ms320 KiB
8Accepted2/21ms320 KiB
9Accepted2/21ms320 KiB
10Accepted2/22ms320 KiB
11Accepted2/22ms320 KiB
12Accepted2/23ms748 KiB
13Accepted3/33ms320 KiB
14Accepted3/31ms320 KiB
15Accepted3/33ms320 KiB
16Accepted3/31ms320 KiB
17Accepted3/33ms320 KiB
18Accepted3/32ms320 KiB
19Accepted3/31ms320 KiB
20Accepted3/31ms320 KiB
21Accepted3/32ms320 KiB
22Accepted3/36ms568 KiB