29332023-02-04 17:07:14horvathabelTom és Jerry 1 (80)cpp17Időlimit túllépés 64/80564ms14480 KiB

#include <bits/stdc++.h>
using namespace std;
vector<pair<int,int>> g[100001];
int tomtav[100001];
vector<int> jerrytav;
int t,n;
vector<bool> seenn;

void bfstom(int x){
	bool seen[100001];
	tomtav[x]=0; 
	seen[x]=true; 
	queue<int> q;
	q.push(x);
	while (!q.empty()){
		int v=q.front();
		q.pop();
		
		for (pair<int, int> edge:g[v]){
			if (edge.second==2 && !seen[edge.first]){
				tomtav[edge.first]=tomtav[v]+1;
				q.push(edge.first);
				seen[edge.first]=true;  
			}
		}
	}
}
void bfsj(int x){
	
	queue<int> q; 
	q.push(x); 
	seenn[x]=true; 
	while (!q.empty()){
		int v=q.front();
		q.pop();
		
		for (pair<int, int> edge: g[v]){
			if (!seenn[edge.first]){
				if ( tomtav[edge.first]==0){
					jerrytav[edge.first]=jerrytav[v]+1;
					q.push(edge.first);
					seenn[edge.first]=true; 
			}
				else if(tomtav[edge.first]>jerrytav[v]+1){
					
					jerrytav[edge.first]=jerrytav[v]+1;
					q.push(edge.first);
					seenn[edge.first]=true; 
				}
			}
		} 
	}

}
int main() {
	ios::sync_with_stdio(false);
  	cin.tie(0);
	int n, m,t,jt,e;
	cin>>n>>m>>t>>jt>>e;
	for (int i=0; i<m;i++){
		int x,y,z;
		cin>>x>>y>>z;
		g[x].push_back(make_pair(y,z));	
		g[y].push_back(make_pair(x,z));
	}
	bfstom(t);
	tomtav[t]=-1; 
	
	for (int i=0; i<jt;i++){
		int z; 
		cin>>z;
		jerrytav.assign(n+1, 0);
		seenn.assign(n+1, 0);

		bfsj(z);
		
		if (z==e) cout<<"IGEN"<<endl;
		else{
			for (int i=1; i<=n;i++){
			}
			if (jerrytav[e]==0) cout<<"NEM"<<endl;
			else cout<<"IGEN"<<endl; 
		}
		jerrytav.clear(); 
		seenn.clear();
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base64/80
1Elfogadva0/04ms6700 KiB
2Elfogadva0/04ms6972 KiB
3Elfogadva4/44ms6992 KiB
4Elfogadva4/44ms7240 KiB
5Elfogadva4/44ms7492 KiB
6Elfogadva4/44ms7744 KiB
7Elfogadva4/44ms7684 KiB
8Elfogadva4/44ms7980 KiB
9Elfogadva4/44ms7952 KiB
10Elfogadva4/46ms8096 KiB
11Elfogadva4/48ms8456 KiB
12Elfogadva4/410ms8884 KiB
13Elfogadva4/417ms9492 KiB
14Elfogadva4/425ms11200 KiB
15Elfogadva4/441ms12408 KiB
16Elfogadva4/441ms13280 KiB
17Elfogadva4/461ms14480 KiB
18Elfogadva4/439ms12572 KiB
19Időlimit túllépés0/4545ms7572 KiB
20Időlimit túllépés0/4564ms7640 KiB
21Időlimit túllépés0/4560ms7380 KiB
22Időlimit túllépés0/4555ms8612 KiB