Submission #1231030

#TimeUsernameProblemLanguageResultExecution timeMemory
1231030ThommyDBDrivers (BOI24_drivers)C++20
10 / 100
202 ms2052 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int INF = 1e16; int n, m, u; vector<vector<pair<int, int>>> adj; vector<int> p, siz; int find(int x){ int xx=x; while(p[x]!=x)x=p[x]; p[xx]=x; return x; } void unite(int a, int b){ a=find(a); b=find(b); if(siz[a]> siz[b])swap(a, b); p[b]=a; siz[a]+=siz[b]; } bool same(int a, int b){ return find(a)==find(b); } signed main(){ cin >> n >> m >> u; adj.resize(n); p.resize(n); siz.resize(n, 1); for(int i = 0; i < n; i++){ p[i]=i; } int t; for(int i = 0; i < m; i++){ int a, b; cin >> a >> b >> t; a--; b--; adj[a].push_back({b, t}); adj[b].push_back({a, t}); unite(a, b); } for(int o = 0; o < u; o++){ int a, b, p; cin >> a >> b >> p; a--; b--; if(t <= p && same(a, b)){ cout << "TAIP\n"; } else{ cout << "NE\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...