Submission #1368472

#TimeUsernameProblemLanguageResultExecution timeMemory
1368472diegoangulo5Traffic (CEOI11_tra)C++20
32 / 100
5095 ms25032 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long 
vector<vector<ll>> adj;
vector<bool> vis;
void dfs(ll cur){
	vis[cur]=true;
	for(auto x:adj[cur]){
		if(!vis[x]){
			dfs(x);
		}
	}
}
	int main(int argc, char *argv[]){
		ll n,m,a,b;
		cin>>n>>m>>a>>b;
		adj.resize(n);
		vector<pair<ll,ll>> V;
		vector<ll> S;
		for(int i=0;i<n;i++){
			ll x,y;
			cin>>x>>y;
			if(x==0){
				V.push_back({y,i});
			}
			if(x==a){
				S.push_back(i);
			}
		}
		sort(V.rbegin(),V.rend());
		for(int i=0;i<m;i++){
			ll x,y,z;
			cin>>x>>y>>z;
			x--;
			y--;
			if(z==1){
				adj[x].push_back(y);
			}else{
				adj[x].push_back(y);
				adj[y].push_back(x);
			}
		}
		for(auto x:V){
			vis.assign(n,false);
			dfs(x.second);
			ll ans=0;
			for(auto y:S){
				if(vis[y]){
					ans++;
				}
			}
			cout<<ans<<"\n";
		}
	}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...