35142023-02-28 14:48:12horvathabelRácsháló gráfcpp17Elfogadva 50/5075ms3964 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[201]; 
int bfs(int x){
	vector<bool> seen;
	seen.resize(201, 0);
	int tav[201];
	int mx=0;
	tav[x]=0;
	queue<int> q;
	q.push(x);
	while (!q.empty()){
		int v=q.front();
		q.pop();
		seen[v]=true;
		for (int x:g[v]){
			if (!seen[x]){
				tav[x]=tav[v]+1; 
				seen[x]=true;
				mx=max(mx,tav[x]);
				q.push(x);
			}
		}


	}
	return (mx); 
}
int main() {
	int n, m, k;
	cin>>n>>m>>k;
	for (int i=1;i<=n*m;i++){
		if ((i%m==0 or i%m-1>0)  && i%m!=1){
			 g[i].push_back(i-1);
		}
		if (i%m+1<=m && i%m!=0){
			g[i].push_back(i+1);
		}
		if (i-m>0){
		 g[i].push_back(i-m);
		} 
		if (i+m<=n*m){
			g[i].push_back(i+m);
		
		}
		

		

	}
	for (int i=0; i<k;i++){
		int x,y;
		cin>>x>>y; 
		g[x].push_back(y);
		g[y].push_back(x);
		int ans=0; 
		for (int i=1; i<=n*m;i++){
			ans=max(ans, bfs(i));
		}
		cout<<ans<<endl; 
	}

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1816 KiB
2Elfogadva0/075ms1916 KiB
3Elfogadva2/23ms2112 KiB
4Elfogadva2/23ms2324 KiB
5Elfogadva2/23ms2540 KiB
6Elfogadva2/23ms2608 KiB
7Elfogadva2/26ms2620 KiB
8Elfogadva2/26ms2740 KiB
9Elfogadva2/26ms3084 KiB
10Elfogadva2/24ms3172 KiB
11Elfogadva2/26ms3388 KiB
12Elfogadva2/214ms3400 KiB
13Elfogadva3/334ms3400 KiB
14Elfogadva3/37ms3396 KiB
15Elfogadva3/335ms3520 KiB
16Elfogadva3/36ms3500 KiB
17Elfogadva3/330ms3528 KiB
18Elfogadva3/313ms3740 KiB
19Elfogadva3/33ms3816 KiB
20Elfogadva3/33ms3820 KiB
21Elfogadva3/314ms3824 KiB
22Elfogadva3/375ms3964 KiB