247292026-02-14 20:40:32999Rácsháló gráfcpp17Wrong answer 20/507ms760 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> v;

int main() {
    int n,m,k;cin>>n>>m>>k;
    v.resize(n*m+2);
    for(int i = 1;i<=n*m;i++){
        if(i%m>1)v[i].push_back(i-1);
        if((i-1)%m<m-1)v[i].push_back(i+1);
        if((i-1)/m>0)v[i].push_back(i-m);
        if((i-1)/m<n-1)v[i].push_back(i+m);
    }
    vector<vector<int>> tav(n*m+2,vector<int>(n*m+2));
    for(int i = 1;i<=n*m;i++){
        for(int j = 1;j<=n*m;j++){
            tav[i][j]=abs((i-1)%m-(j-1)%m)+abs((i-1)/m-(j-1)/m);
        }
    }
    for(int xyz=0;xyz<k;xyz++){
        int U,V;cin>>U>>V;
        v[U].push_back(V);
        v[V].push_back(U);
        vector<int> dis1(n*m+2,-1);
        vector<int> dis2(n*m+2,-1);
        queue<int> q1,q2;
        dis1[U]=0;
        dis2[V]=0;
        q1.push(U);
        q2.push(V);
        while(!q1.empty()){
            int a=q1.front();
            q1.pop();
            for(int i : v[a]){
                if(dis1[i]==-1){
                    dis1[i]=dis1[a]+1;
                    q1.push(i);
                }
            }
        }
        while(!q2.empty()){
            int a=q2.front();
            q2.pop();
            for(int i : v[a]){
                if(dis2[i]==-1){
                    dis2[i]=dis2[a]+1;
                    q2.push(i);
                }
            }
        }
        int mx=0;
        for(int i = 1;i<=n*m;i++){
            for(int j = 1;j<=n*m;j++){
                tav[i][j]=min({tav[i][j],dis1[i]+1+dis2[j],dis1[j]+1+dis2[i]});
                mx=max(mx,tav[i][j]);
            }
        }
        cout<<mx<<endl;
    }
}
SubtaskSumTestVerdictTimeMemory
base20/50
1Accepted0/01ms316 KiB
2Wrong answer0/07ms760 KiB
3Wrong answer0/21ms316 KiB
4Accepted2/21ms336 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Wrong answer0/21ms500 KiB
8Wrong answer0/21ms508 KiB
9Wrong answer0/21ms380 KiB
10Wrong answer0/21ms316 KiB
11Accepted2/21ms316 KiB
12Wrong answer0/23ms564 KiB
13Accepted3/34ms440 KiB
14Wrong answer0/32ms316 KiB
15Wrong answer0/34ms316 KiB
16Wrong answer0/32ms316 KiB
17Accepted3/34ms316 KiB
18Wrong answer0/33ms532 KiB
19Accepted3/31ms316 KiB
20Accepted3/31ms316 KiB
21Wrong answer0/32ms316 KiB
22Wrong answer0/37ms592 KiB