13472022-05-21 18:10:10nkdorka1212Rácsháló gráfcpp11Elfogadva 50/5018ms2204 KiB
#include <bits/stdc++.h>

using namespace std;
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,m,k;
    cin>>n>>m>>k;
    vector<vector<int>>matrix(n*m+1,vector<int>(n*m+1,INT_MAX/2));
    for(int i=1;i<=n*m;i++)
    {
        if(i%m!=0)
        {
            matrix[i][i+1]=1;
            matrix[i+1][i]=1;
        }
        if(i<=(n-1)*m)
        {
            matrix[i][i+m]=1;
            matrix[i+m][i]=1;
        }
    }
    for(int e=1;e<=n*m;e++)
    {
        for(int i=1;i<=n*m;i++)
        {
            for(int j=1;j<=n*m;j++)
            {
                matrix[i][j]=min(matrix[i][j],matrix[i][e]+matrix[e][j]);
            }
        }
    }
    for(int i=1;i<=n*m;i++)
    {
        matrix[i][i]=0;
    }
    while(k--)
    {
        int a,b;
        cin>>a>>b;
        int maxi=0;
        matrix[a][b]=1;
        matrix[b][a]=1;
        for(int i=1;i<=n*m;i++)
        {
            for(int j=1;j<=n*m;j++)
            {
                if(j>i)
                {
                    int road1=matrix[i][a]+matrix[a][b]+matrix[b][j];
                    int road2=matrix[i][b]+matrix[b][a]+matrix[a][j];
                    road1=min(road1,road2);
                    matrix[i][j]=min(road1,matrix[i][j]);
                    matrix[j][i]=matrix[i][j];
                    maxi=max(maxi,matrix[i][j]);
                }

            }
        }
        cout<<maxi<<'\n';
    }

    return 0;
}


/*
    for(int i=1;i<=n*m;i++)
    {
        for(int j=1;j<=n*m;j++)
        {
            cout<<matrix[i][j]<<" ";
        }
        cout<<endl;
    }
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1820 KiB
2Elfogadva0/018ms2156 KiB
3Elfogadva2/21ms1868 KiB
4Elfogadva2/21ms1864 KiB
5Elfogadva2/21ms1872 KiB
6Elfogadva2/21ms1876 KiB
7Elfogadva2/23ms1920 KiB
8Elfogadva2/23ms1924 KiB
9Elfogadva2/23ms1928 KiB
10Elfogadva2/22ms1904 KiB
11Elfogadva2/23ms1940 KiB
12Elfogadva2/214ms2164 KiB
13Elfogadva3/38ms1992 KiB
14Elfogadva3/33ms1952 KiB
15Elfogadva3/39ms2004 KiB
16Elfogadva3/33ms1964 KiB
17Elfogadva3/38ms1992 KiB
18Elfogadva3/33ms1944 KiB
19Elfogadva3/31ms1924 KiB
20Elfogadva3/31ms1932 KiB
21Elfogadva3/33ms1964 KiB
22Elfogadva3/317ms2204 KiB