222752026-01-14 19:45:05szjRácsháló gráfcpp17Elfogadva 50/5057ms508 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int m, n, k, i, mi=40001, a, b, ans;
    cin >> n >> m >> k;
    vector<vector<int>>vec(n*m);
    mi=4*m;
    for(i=0; i<n*m; i++)
    {
        if(i%m>0)vec[i].push_back(i-1);
        if((i+1)%m>0)vec[i].push_back(i+1);
        if(i+m<n*m)vec[i].push_back(i+m);
        if(i-m>=0)vec[i].push_back(i-m);
    }
    queue<int>q;
    for(i=0; i<k; i++)
    {
        cin >> a >> b;
        vec[a-1].push_back(b-1);
        vec[b-1].push_back(a-1);
        mi=0;
        for(int g=0; g<n*m; g++)
        {
            int dist[n*m]={};
            q.push(g);
            dist[g]=1;
            ans=1;
            while(!q.empty())
            {
                a=q.front();
                q.pop();
                for(auto j:vec[a])
                {
                    if(!dist[j])
                    {
                        dist[j]=dist[a]+1;
                        q.push(j);
                        ans=max(dist[j], ans);
                    }
                }
            }
            mi=max(ans, mi);
        }
        cout << mi-1 << endl;

    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/057ms324 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva2/21ms328 KiB
6Elfogadva2/21ms328 KiB
7Elfogadva2/24ms328 KiB
8Elfogadva2/23ms328 KiB
9Elfogadva2/23ms328 KiB
10Elfogadva2/22ms328 KiB
11Elfogadva2/23ms320 KiB
12Elfogadva2/28ms320 KiB
13Elfogadva3/326ms316 KiB
14Elfogadva3/34ms328 KiB
15Elfogadva3/327ms440 KiB
16Elfogadva3/34ms508 KiB
17Elfogadva3/323ms412 KiB
18Elfogadva3/38ms440 KiB
19Elfogadva3/31ms328 KiB
20Elfogadva3/31ms388 KiB
21Elfogadva3/310ms436 KiB
22Elfogadva3/357ms328 KiB