結果
問題 |
No.429 CupShuffle
|
ユーザー |
![]() |
提出日時 | 2016-10-02 23:38:58 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 82 ms / 2,000 ms |
コード長 | 908 bytes |
コンパイル時間 | 1,004 ms |
コンパイル使用メモリ | 62,140 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-21 14:51:32 |
合計ジャッジ時間 | 1,960 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
#include <cstdio> #include <algorithm> #include <iostream> #include <cmath> using namespace std; typedef long long ll; int N, K, X; string s, t; int A[100001], B[100001], C[100001], F[100001]; int main(int argc, char const *argv[]) { cin >> N >> K >> X; if (X > 1) { for (int i = 0; i < X-1; i++) cin >> A[i] >> B[i]; } cin >> s >> t; for (int i = X-1; i < K-1; i++) cin >> A[i] >> B[i]; for (int i = 1; i <= N; i++) cin >> C[i]; for (int i = 1; i <= N; i++) F[i] = i; if (X > 1) { for (int i = 0; i < X-1; i++) { int res = F[A[i]]; F[A[i]] = F[B[i]]; F[B[i]] = res; } } for (int i = K-2; i >= X-1; i--) { int res = C[A[i]]; C[A[i]] = C[B[i]]; C[B[i]] = res; } bool flag = false; for (int i = 1; i <= N; i++) { if (F[i] != C[i]) { if (flag) { cout << ' ' << i << endl; return 0; } else { cout << i; flag = true; } } } return 0; }