3511 2023. 02. 28 14:27:42 horvathabel Rácsháló gráf cpp17 Hibás válasz 7/50 3ms 3856 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[201]; 
int bfs(int x){
	vector<bool> seen;
	seen.assign(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=max(bfs(1), bfs(m));
		cout<<ans<<endl; 
	}

}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 7/50
1 Elfogadva 0/0 3ms 1820 KiB
2 Hibás válasz 0/0 3ms 2212 KiB
3 Elfogadva 2/2 3ms 2408 KiB
4 Elfogadva 2/2 3ms 2560 KiB
5 Hibás válasz 0/2 3ms 2736 KiB
6 Hibás válasz 0/2 3ms 2916 KiB
7 Hibás válasz 0/2 3ms 3128 KiB
8 Hibás válasz 0/2 3ms 3204 KiB
9 Hibás válasz 0/2 3ms 3236 KiB
10 Hibás válasz 0/2 3ms 3400 KiB
11 Hibás válasz 0/2 3ms 3620 KiB
12 Hibás válasz 0/2 3ms 3748 KiB
13 Hibás válasz 0/3 3ms 3832 KiB
14 Hibás válasz 0/3 3ms 3840 KiB
15 Hibás válasz 0/3 3ms 3840 KiB
16 Hibás válasz 0/3 3ms 3832 KiB
17 Elfogadva 3/3 3ms 3840 KiB
18 Hibás válasz 0/3 3ms 3856 KiB
19 Hibás válasz 0/3 3ms 3836 KiB
20 Hibás válasz 0/3 3ms 3828 KiB
21 Hibás válasz 0/3 3ms 3832 KiB
22 Hibás válasz 0/3 3ms 3840 KiB