8392022-01-20 11:41:42kicsiboglarCiklikus rácsháló gráfcpp11Elfogadva 40/4065ms1956 KiB
#include <iostream>
#include <vector>
#include <deque>
#define ll long long 

using namespace std;

struct adat
{
    ll f, s, steps;
};
struct element
{
    bool lat;
    vector <ll> sz;
};
ll n, m, i, j, a, b, k, M;

int main()
{
    cin >> n >> m >> M;
    vector <element> x((n * m) + 1);
    for (i = 1; i <= n * m; ++i)
    {
        if (i > m) x[i].sz.push_back(i - m);
        else x[i].sz.push_back(i + (n - 1) * m);

        if (i <= (n * m) - m) x[i].sz.push_back(i + m);
        else x[i].sz.push_back(i - (n - 1) * m);

        if (i % m != 0) x[i].sz.push_back(i + 1);
        else x[i].sz.push_back(i - m + 1);

        if (i % m != 1) x[i].sz.push_back(i - 1);
        else x[i].sz.push_back(i + m - 1);

    }
    ll maxi = (n - 1) * (m - 1);

    for (k = 1; k <= M; ++k)
    {
        cin >> a >> b;
        x[a].sz.push_back(b);
        x[b].sz.push_back(a);
        maxi = -1;
        for (i = 1; i <= n * m; ++i)
        {
            for (j = 1; j <= n * m; ++j) x[j].lat = false;
            deque <pair<ll, ll> > v;
            v.push_back({ i,0 });
            pair<ll, ll> act;
            x[i].lat = true;
            while (!v.empty())
            {
                act = v[0];
                v.pop_front();
                for (auto e : x[act.first].sz)
                {
                    if (!x[e].lat)
                    {
                        x[e].lat = true;
                        if (act.second + 1 > maxi) maxi = act.second + 1;
                        v.push_back({ e,act.second + 1 });
                    }
                }
            }

        }
        cout << maxi << "\n";

    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/02ms1744 KiB
2Elfogadva0/054ms1812 KiB
3Elfogadva2/21ms1852 KiB
4Elfogadva2/21ms1856 KiB
5Elfogadva2/22ms1864 KiB
6Elfogadva2/22ms1868 KiB
7Elfogadva2/23ms1876 KiB
8Elfogadva2/23ms1888 KiB
9Elfogadva2/23ms1884 KiB
10Elfogadva2/22ms1888 KiB
11Elfogadva2/23ms1896 KiB
12Elfogadva2/213ms1904 KiB
13Elfogadva2/226ms1912 KiB
14Elfogadva2/24ms1904 KiB
15Elfogadva2/225ms1920 KiB
16Elfogadva2/24ms1916 KiB
17Elfogadva2/223ms1928 KiB
18Elfogadva2/28ms1928 KiB
19Elfogadva2/21ms1916 KiB
20Elfogadva2/22ms1924 KiB
21Elfogadva2/29ms1936 KiB
22Elfogadva2/265ms1956 KiB