結果
問題 |
No.429 CupShuffle
|
ユーザー |
![]() |
提出日時 | 2016-11-06 20:20:58 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 88 ms / 2,000 ms |
コード長 | 1,089 bytes |
コンパイル時間 | 1,352 ms |
コンパイル使用メモリ | 165,564 KB |
実行使用メモリ | 8,832 KB |
最終ジャッジ日時 | 2024-11-25 03:23:53 |
合計ジャッジ時間 | 2,352 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
#include <bits/stdc++.h> //const static double de_PI = 3.14159265358979323846; //const static int de_MOD = 1000000007; //const static int de_MAX = 999999999; //const static int de_MIN = -999999999; int main(void) { //std::ifstream inf("123.txt"); std::cin.rdbuf(inf.rdbuf()); int N = 0, K = 0, X = 0; std::cin >> N >> K >> X; std::vector<int> in(N), out(N); std::vector<std::vector<int>> C(K - X, std::vector<int>(2)); std::iota(in.begin(), in.end(), 1); int A = 0, B = 0, temp = 0; for (int i = 0; i < X - 1; i++) { std::cin >> A >> B; temp = in[A - 1]; in[A - 1] = in[B - 1]; in[B - 1] = temp; } char x = 0; std::cin >> x >> x; for (int i = K - X - 1; i >= 0; i--) { std::cin >> C[i][0] >> C[i][1]; } for (int i = 0; i < N; i++) { std::cin >> out[i]; } for (int i = 0; i < K - X; i++) { temp = out[C[i][0] - 1]; out[C[i][0] - 1] = out[C[i][1] - 1]; out[C[i][1] - 1] = temp; } int i = 0; while (in[i] == out[i]) { i++; } std::cout << i + 1 << " " << std::distance(out.begin(), std::find(out.begin(), out.end(), in[i])) + 1 << std::endl; }