結果
| 問題 |
No.429 CupShuffle
|
| コンテスト | |
| ユーザー |
airis
|
| 提出日時 | 2016-10-02 23:20:37 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 83 ms / 2,000 ms |
| コード長 | 1,266 bytes |
| コンパイル時間 | 1,392 ms |
| コンパイル使用メモリ | 160,936 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-21 13:35:03 |
| 合計ジャッジ時間 | 2,462 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
ソースコード
#include <bits/stdc++.h>
#define rep(x, to) for (int x = 0; x < (to); x++)
#define REP(x, a, to) for (int x = (a); x < (to); x++)
#define EPS (1e-14)
#define _PA(x,N) rep(i,N){cout<<x[i]<<" ";}cout<<endl;
#define _PA2(x,H,W) rep(i,(H)){rep(j,(W)){cout<<x[i][j]<<" ";}cout<<endl;}
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
typedef pair<ll, ll> PLL;
typedef complex<double> Complex;
typedef vector< vector<int> > Mat;
int N, K, X;
int A[100005], B[100005];
int C[100005];
int init[100005];
vector<int> ans;
void solve() {
for (int i = 0; i < N; i++) {
init[i] = i + 1;
}
// forward
for (int i = 0; i < X - 1; i++) {
int a = A[i] - 1;
int b = B[i] - 1;
swap(init[a], init[b]);
}
// backward
for (int i = K - 1; i > X - 1; i--) {
int a = A[i] - 1;
int b = B[i] - 1;
swap(C[a], C[b]);
}
//_PA(init, N);
//_PA(C, N);
for (int i = 0; i < N; i++) {
if (init[i] != C[i]) {
ans.push_back(i + 1);
}
}
//cout << ans.size() << endl;
printf("%d %d\n", ans[0], ans[1]);
}
int main() {
cin >> N >> K >> X;
for (int i = 0; i < K; i++) {
if (i != X - 1) {
cin >> A[i] >> B[i];
} else {
char a, b;
cin >> a >> b;
}
}
for (int i = 0; i < N; i++) {
cin >> C[i];
}
solve();
return 0;
}
airis