제출 #1041701

#제출 시각아이디문제언어결과실행 시간메모리
1041701vjudge1Tenis (COI19_tenis)C++17
21 / 100
32 ms7472 KiB
///~~~LOTA~~~/// #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define append push_back #define add insert #define nl '\n' #define ff first #define ss second #define pii pair<int,int> #define pll pair<ll,ll> #define all(x) (x).begin(),(x).end() #define L0TA ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define terminator main #define N 100001 int h[N]; int x[N]; int P[N][4]; int F[N][4]; bool vis[N]; bool query(int x){ return 0; } void solve(int n,int m){ vector<int> v; for(int i=1;i<=n;i++){ if(!P[i][1]) v.append(i); } for(int i=h[v[0]]=0;i<n-1;i++){ v.append(F[v[i]][1]); h[v[i+1]]=i+1; } h[0]=n; for(int i=n-1;i>=0;i--){ x[i]=i; if(i<n-1) x[i]=min(x[i],x[i+1]); x[i]=min(x[i],h[F[v[i]][2]]); x[i]=min(x[i],h[F[v[i]][3]]); } for(int i=0;i<n;i++) x[i]=x[x[i]]; int p,q; while(m--){ cin>>p>>q; if(x[h[q]]) cout<<"NE\n"; else cout<<"DA\n"; } } void solve(){ int n,m,o,p,q,r; cin>>n>>m; for(int j=1;j<4;j++){ cin>>p; for(int i=1;i<n;i++){ cin>>q; P[q][j]=p; F[p][j]=q; p=q; } } if(m>10){ solve(n,m); return; } while(m--){ cin>>o; if(o>1){ cin>>p>>q>>r; } else{ cin>>r; if(query(r)) cout<<"DA\n"; else cout<<"NE\n"; } } } int terminator(){ L0TA; solve(); return 0; }
#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...