結果
問題 |
No.429 CupShuffle
|
ユーザー |
![]() |
提出日時 | 2017-07-01 15:35:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 87 ms / 2,000 ms |
コード長 | 928 bytes |
コンパイル時間 | 1,663 ms |
コンパイル使用メモリ | 168,208 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-05 04:22:08 |
合計ジャッジ時間 | 2,798 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
#include <bits/stdc++.h> #define REP(i,n,N) for(int i=(n);i<(int) N;i++) #define RREP(i,n,N) for(int i=N-1;i>=(int) n;i--) #define p(s) cout<<(s)<<endl #define DEBUG(x,y) cout<<#x<<": "<<x<<" , "<<#y<<": "<<y<<endl; #define CK(n,a,b) ((a)<=(n)&&(n)<=(b)) #define F first #define S second typedef long long ll; using namespace std; const ll inf=1e9; vector<int> cup(100010); int cup2[100010]; int a[100010], b[100010]; int main(){ int N, K, X; cin>>N>>K>>X; char f,g; REP(i, 0, K){ if(i==X-1) { cin>>f>>g; continue; } cin>>a[i]>>b[i]; //DEBUG(a[i],b[i]); } REP(i, 1, N+1){ cup.at(i)=i; } REP(i, 0, X-1){ swap(cup.at(a[i]), cup.at(b[i])); } REP(i, 1, N+1){ int c; cin>>c; cup2[i]=c; } RREP(i, X, K){ swap(cup2[a[i]], cup2[b[i]]); } bool flag=false; REP(i, 1, N+1){ if(cup[i]!=cup2[i]){ cout<<i; if(!flag){ cout<<" "; flag=true; } } } cout<<endl; return 0; }