75742024-01-09 19:08:47horvathabelCiklikus rácsháló gráfcpp17Hibás válasz 38/4079ms3596 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long; 
vector<ll> g[202];

ll bfs(ll x){
	vector<bool>seen; 
	seen.resize(202,false);
	ll tav[202];
	queue<ll> q;
	q.push(x);
	seen[x]=true;
	tav[x]=0;
	ll ans=0; 
	while (!q.empty()){
		ll v=q.front();

		q.pop();
		for (auto edge:g[v]){
			if (!seen[edge]){
				tav[edge]=tav[v]+1;
				ans=max(ans, tav[edge]);
				q.push(edge);
				seen[edge]=true; 
			}
		}
	}
	return ans; 


}
int main() {
	ll n, m;
	cin>>n>>m;
	swap(n,m);
	for (ll i=1; i<=m;i++){
		g[1+(i-1)*n].push_back(i*n);
		g[i*n].push_back(1+(i-1)*n);
	}
	for (ll i=1; i<=n*m;i++){
			if ((i)%n!=1){
				g[i].push_back(i-1);
                g[i-1].push_back(i);
			}

			if (i<(m-1)*n+1){
				g[i].push_back(i+n);
				g[i+n].push_back(i);
			}
			if (i<=n){
				g[i].push_back(i+(m-1)*n); 
				g[i+(m-1)*n].push_back(i); 
		}
	}
	ll k;
	cin>>k;
	for (ll u=0; u<k;u++){
		ll a, b;
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
		ll ans=0; 
		for (ll i=1; i<=n*m;i++){
            ll now=bfs(i);
            if (ans<now) ans=now; 
        }
		cout<<ans<<endl;  
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/40
1Elfogadva0/03ms1812 KiB
2Elfogadva0/079ms2076 KiB
3Hibás válasz0/23ms2120 KiB
4Elfogadva2/23ms2336 KiB
5Elfogadva2/23ms2440 KiB
6Elfogadva2/23ms2444 KiB
7Elfogadva2/26ms2536 KiB
8Elfogadva2/26ms2620 KiB
9Elfogadva2/26ms2620 KiB
10Elfogadva2/24ms2756 KiB
11Elfogadva2/26ms2984 KiB
12Elfogadva2/217ms3224 KiB
13Elfogadva2/235ms3116 KiB
14Elfogadva2/27ms3344 KiB
15Elfogadva2/237ms3324 KiB
16Elfogadva2/26ms3320 KiB
17Elfogadva2/232ms3344 KiB
18Elfogadva2/214ms3468 KiB
19Elfogadva2/23ms3572 KiB
20Elfogadva2/23ms3596 KiB
21Elfogadva2/216ms3568 KiB
22Elfogadva2/279ms3560 KiB