Submission #1732056
Source Code Expand
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define fi first #define se second #define mp make_pair #define pb push_back #define fbo find_by_order #define ook order_of_key typedef long long ll; typedef pair<int,int> ii; typedef vector<int> vi; typedef long double ld; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; typedef set<int>::iterator sit; typedef map<int,int>::iterator mit; typedef vector<int>::iterator vit; int par[111111]; set<ii> R,B; vi adjr[111111]; vi adjb[111111]; int rt(int u) { if(par[u]<0) return u; else return (par[u]=rt(par[u])); } queue<ii> q; int res; void merge(int u, int v) { u=rt(u); v=rt(v); if(u==v) return ; res++; if(par[u]>par[v]) swap(u,v); //v merges to u par[u]+=par[v]; par[v]=u; for(int i=0;i<adjr[v].size();i++) { int val=adjr[v][i]; val=rt(val); if(val==u) continue; adjr[u].pb(val); R.insert(mp(u,val)); if(B.find(mp(u,val))!=B.end()||B.find(mp(val,u))!=B.end()) q.push(mp(u,val)); } for(int i=0;i<adjb[v].size();i++) { int val=adjb[v][i]; val=rt(val); if(val==u) continue; adjb[u].pb(val); B.insert(mp(u,val)); if(R.find(mp(u,val))!=R.end()||R.find(mp(val,u))!=R.end()) q.push(mp(u,val)); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); memset(par,-1,sizeof(par)); int n; cin>>n; for(int i=0;i<n-1;i++) { int u,v; cin>>u>>v; u--; v--; R.insert(mp(u,v)); adjr[u].pb(v); adjr[v].pb(u); } for(int i=0;i<n-1;i++) { int u,v; cin>>u>>v; u--; v--; B.insert(mp(u,v)); adjb[u].pb(v); adjb[v].pb(u); if(R.find(mp(u,v))!=R.end()||R.find(mp(v,u))!=R.end()) { q.push(mp(u,v)); } } res=0; while(!q.empty()) { int u=q.front().fi; int v=q.front().se; q.pop(); merge(u,v); } cout<<(res==n-1?"YES":"NO")<<'\n'; }
Submission Info
Submission Time | |
---|---|
Task | E - Blue and Red Tree |
User | zscoder |
Language | C++14 (GCC 5.4.1) |
Score | 1400 |
Code Size | 1989 Byte |
Status | AC |
Exec Time | 667 ms |
Memory | 34816 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1400 / 1400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 4 ms | 5888 KB |
in10.txt | AC | 314 ms | 21760 KB |
in11.txt | AC | 585 ms | 32896 KB |
in12.txt | AC | 532 ms | 33024 KB |
in13.txt | AC | 510 ms | 33152 KB |
in14.txt | AC | 616 ms | 33024 KB |
in15.txt | AC | 571 ms | 33024 KB |
in16.txt | AC | 516 ms | 33152 KB |
in17.txt | AC | 594 ms | 32896 KB |
in18.txt | AC | 575 ms | 33280 KB |
in19.txt | AC | 525 ms | 33280 KB |
in2.txt | AC | 4 ms | 5888 KB |
in20.txt | AC | 571 ms | 33152 KB |
in21.txt | AC | 537 ms | 34176 KB |
in22.txt | AC | 526 ms | 34176 KB |
in23.txt | AC | 567 ms | 33920 KB |
in24.txt | AC | 537 ms | 34048 KB |
in25.txt | AC | 517 ms | 34048 KB |
in26.txt | AC | 500 ms | 34432 KB |
in27.txt | AC | 545 ms | 34304 KB |
in28.txt | AC | 646 ms | 34816 KB |
in29.txt | AC | 667 ms | 34304 KB |
in3.txt | AC | 4 ms | 5888 KB |
in30.txt | AC | 514 ms | 34304 KB |
in31.txt | AC | 454 ms | 31864 KB |
in32.txt | AC | 466 ms | 31864 KB |
in33.txt | AC | 485 ms | 31864 KB |
in34.txt | AC | 612 ms | 31864 KB |
in35.txt | AC | 533 ms | 31864 KB |
in36.txt | AC | 531 ms | 31864 KB |
in37.txt | AC | 547 ms | 31864 KB |
in38.txt | AC | 499 ms | 31736 KB |
in39.txt | AC | 642 ms | 31864 KB |
in4.txt | AC | 312 ms | 21760 KB |
in40.txt | AC | 598 ms | 31864 KB |
in41.txt | AC | 587 ms | 31864 KB |
in42.txt | AC | 488 ms | 31864 KB |
in43.txt | AC | 496 ms | 31864 KB |
in44.txt | AC | 506 ms | 31864 KB |
in45.txt | AC | 483 ms | 31864 KB |
in46.txt | AC | 454 ms | 31864 KB |
in47.txt | AC | 553 ms | 31864 KB |
in5.txt | AC | 221 ms | 21760 KB |
in6.txt | AC | 466 ms | 31864 KB |
in7.txt | AC | 217 ms | 21760 KB |
in8.txt | AC | 220 ms | 21760 KB |
in9.txt | AC | 219 ms | 21760 KB |
sample1.txt | AC | 4 ms | 5888 KB |
sample2.txt | AC | 4 ms | 5888 KB |
sample3.txt | AC | 4 ms | 5888 KB |