제출 #1041720

#제출 시각아이디문제언어결과실행 시간메모리
1041720vjudge1Tenis (COI19_tenis)C++17
30 / 100
1070 ms2864 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <set> #include <vector> using namespace std; inline void solve() { int n,q; cin>>n>>q; int loc[3][n]; for (int i=0;i<3;i++) { for (int j=0;j<n;j++) { int x; cin>>x; loc[i][x-1]=j; } } while (q--) { int ty; cin>>ty; if (ty==1) { int x; cin>>x; x--; int mind[3]={loc[0][x],loc[1][x],loc[2][x]}; vector<int>f; for (int i=0;i<n;i++) if (i!=x) f.push_back(i); while (f.size()) { vector<int>g; for (auto i:f) { bool w=1; for (int k=0;k<3;k++) { if (mind[k]<loc[k][i]) { w=0; for (int j=0;j<3;j++) mind[j]=min(mind[j],loc[j][i]); break; } } if (w) g.push_back(i); } if (f.size()==g.size()) break; f=g; } if (f.size()) cout<<"NE\n"; else cout<<"DA\n"; } else { int p,a,b; cin>>p>>a>>b; p--;a--;b--; swap(loc[p][a],loc[p][b]); } } } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }
#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...