結果
| 問題 | No.429 CupShuffle | 
| コンテスト | |
| ユーザー |  piniky | 
| 提出日時 | 2016-10-08 00:06:49 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 30 ms / 2,000 ms | 
| コード長 | 1,033 bytes | 
| コンパイル時間 | 1,887 ms | 
| コンパイル使用メモリ | 172,568 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-21 20:00:12 | 
| 合計ジャッジ時間 | 2,501 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
| 外部呼び出し有り | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
ソースコード
#include "bits/stdc++.h"
#define debug(x) cout<<#x<<": "<<x<<endl
#define rep(i,n) for (int i=0;i<(n);i++)
#define FOR(i,a,b) for (int i=(a);i<=(b);i++)
#define all(a) (a).begin(),(a).end()
using namespace std;
typedef vector<int> VI;
typedef vector<vector<int>> VVI;
typedef long long ll;
void solve() {
#ifdef _WIN32
	istream &cin = ifstream("input.txt");
#endif
	int n, k, x;
	cin >> n >> k >> x;
	VI v(n), v2(n);
	vector<pair<int, int>> sw(k - x);
	rep(i, n) v[i] = i;
	rep(i, x - 1) {
		int a, b;
		cin >> a >> b;
		a--; b--;
		swap(v[a], v[b]);
	}
	char tmp;
	cin >> tmp >> tmp;
	rep(i, k - x) {
		int a, b;
		cin >> a >> b;
		a--; b--;
		sw[i] = {a, b};
	}
	rep(i, n) {
		cin >> v2[i];
		v2[i]--;
	}
	int len = sw.size();
	rep(i, k - x) {
		swap(v2[sw[len - i - 1].first], v2[sw[len - i - 1].second]);
	}
	VI ans(0);
	rep(i, n) if (v[i] != v2[i]) ans.push_back(i);
	cout << ans[0] + 1 << " " << ans[1] + 1 << endl;
}
int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	solve();
	system("PAUSE");
	return 0;
}
            
            
            
        