153982025-02-19 11:34:16markfsibianRácsháló gráfcpp17Hibás válasz 29/504ms520 KiB
#include <iostream>
#include <vector>
#include <deque>
#include <climits>
#include <algorithm>

using namespace std;

struct pont
{
    int lat, lep;
    vector<int> sz;
};

vector<pont> v;
deque<int> wl;

int szel(vector<pont> v, deque<int> wl, int ke)
{
    int akt, mini = INT_MIN;
    v[ke].lat = 1;
    v[ke].lep = 0;
    wl.push_back(ke);

    while (!wl.empty())
    {
        akt = wl.front();
        wl.pop_front();
        for (auto& e : v[akt].sz)
        {
            if (!v[e].lat)
            {
                wl.push_back(e);
                v[e].lat = 1;
                v[e].lep = v[akt].lep + 1;
                if (v[e].lep > mini)
                    mini = v[e].lep;
            }
        }
    }
    return mini;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int so, os, uj, n, a, b, k = 1;
    cin >> so >> os >> uj;
    n = so * os;

    v.resize(n + 1);

    for (int i = 1; i <= so; ++i)
        for (int j = 1; j <= os; ++j)
        {
            if (j < os)
            {
                v[k].sz.push_back(k + 1);
                v[k + 1].sz.push_back(k);
            }
            if (i < so)
            {
                v[k].sz.push_back(os * i + j);
                v[os * i + j].sz.push_back(k);
            }
            k++;
        }


    for (int i = 1; i <= uj; ++i)
    {
        cin >> a >> b;
        v[a].sz.push_back(b);
        v[b].sz.push_back(a);
        cout << max(max(max(szel(v, wl, 1), szel(v, wl, os)), szel(v, wl, os*(so-1)+1)), szel(v, wl, os*(so-1)+os)) << endl;
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base29/50
1Elfogadva0/01ms512 KiB
2Hibás válasz0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/21ms520 KiB
11Hibás válasz0/22ms316 KiB
12Hibás válasz0/22ms508 KiB
13Hibás válasz0/33ms316 KiB
14Elfogadva3/31ms316 KiB
15Hibás válasz0/34ms316 KiB
16Hibás válasz0/32ms316 KiB
17Elfogadva3/33ms316 KiB
18Elfogadva3/32ms316 KiB
19Elfogadva3/31ms316 KiB
20Elfogadva3/31ms344 KiB
21Hibás válasz0/32ms316 KiB
22Hibás válasz0/34ms492 KiB