結果
| 問題 | No.429 CupShuffle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-02 22:34:39 |
| 言語 | C++11 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 18 ms / 2,000 ms |
| コード長 | 616 bytes |
| 記録 | |
| コンパイル時間 | 1,055 ms |
| コンパイル使用メモリ | 177,192 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-05-15 17:03:58 |
| 合計ジャッジ時間 | 2,015 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, K, X;
cin >> N >> K >> X;
X--;
vector<int> a(K), b(K);
for (int i = 0; i < K; i++) {
if (i == X) {
string s, t;
cin >> s >> t;
} else {
scanf("%d %d", &a[i], &b[i]);
a[i]--; b[i]--;
}
}
vector<int> c(N);
for (int i = 0; i < N; i++) scanf("%d", &c[i]), c[i]--;
vector<int> p(N);
iota(p.begin(), p.end(), 0);
for (int i = 0; i < X; i++) {
swap(p[a[i]], p[b[i]]);
}
for (int i = K - 1; i > X; i--) {
swap(c[a[i]], c[b[i]]);
}
for (int i = 0; i < N; i++) {
if (p[i] != c[i]) {
cout << i + 1 << " ";
}
}
}