結果
| 問題 |
No.429 CupShuffle
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-02 23:56:59 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 753 ms / 2,000 ms |
| コード長 | 1,207 bytes |
| コンパイル時間 | 4,162 ms |
| コンパイル使用メモリ | 79,564 KB |
| 実行使用メモリ | 68,080 KB |
| 最終ジャッジ日時 | 2024-11-21 14:57:08 |
| 合計ジャッジ時間 | 9,490 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
ソースコード
import java.io.PrintStream;
import java.util.Scanner;
public class Y429 {
Scanner in;
PrintStream out;
int nextInt() {
String s = in.next();
if (s.charAt(0) == '?') return -1;
else return Integer.valueOf(s);
}
Y429() throws Exception {
in = new Scanner(System.in);
out = new PrintStream(System.out);
int n = in.nextInt(),
k = in.nextInt(),
x = in.nextInt();
int[] a = new int[k],
b = new int[k],
c = new int[n],
d = new int[n];
for (int i = 0; i < k; i++) {
a[i] = nextInt();
b[i] = nextInt();
}
for (int i = 0; i < n; i++) {
d[i] = i + 1;
c[i] = nextInt();
}
for (int i = 0; i < x - 1; i++) {
int tmp = d[a[i] - 1];
d[a[i] - 1] = d[b[i] - 1];
d[b[i] - 1] = tmp;
}
for (int i = k-1; i>x - 1; i--) {
int tmp = c[a[i] - 1];
c[a[i] - 1] = c[b[i] - 1];
c[b[i] - 1] = tmp;
}
int[] ans = new int[2];
int cnt = 0;
for (int i = 0; i < n; i++) {
if (c[i] != d[i]) {
ans[cnt++] = i + 1;
}
}
if (ans[0] < ans[1]) out.println("" + ans[0] + " " + ans[1]);
else out.println("" + ans[1] + " " + ans[0]);
}
public static void main(String argv[]) throws Exception {
new Y429();
}
}