結果
| 問題 |
No.326 あみだますたー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-06-26 01:57:49 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,404 bytes |
| コンパイル時間 | 4,240 ms |
| コンパイル使用メモリ | 82,028 KB |
| 実行使用メモリ | 61,704 KB |
| 最終ジャッジ日時 | 2024-06-30 22:49:55 |
| 合計ジャッジ時間 | 15,061 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 2 |
| other | AC * 3 WA * 23 |
ソースコード
import java.util.*;
public class No326{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
int[][] xy = new int[K][2];
for(int i = 0; i < K; i++){
xy[i][0] = sc.nextInt()-1;
xy[i][1] = sc.nextInt()-1;
}
// int[] A = new int[N];
// int[] A_tmp = new int[N];
ArrayList<Integer> A = new ArrayList<Integer>();
ArrayList<Integer> A_tmp = new ArrayList<Integer>();
for(int i = 0; i < N; i++){
A.add(sc.nextInt());
A_tmp.add(i+1);
}
for(int i = 0; i < K; i++){
int a_left = A_tmp.get(xy[i][0]);
int a_right = A_tmp.get(xy[i][1]);
A_tmp.set(xy[i][0], a_right);
A_tmp.set(xy[i][1], a_left);
}
// System.out.println(A_tmp.toString());
ArrayList<ArrayList<Integer>> ans = new ArrayList<ArrayList<Integer>>();
for(int i = 0; i < N; i++){
if(A.get(i) != A_tmp.get(i)){
int idx_left = i;
int a_left = A_tmp.get(idx_left);
int idx_right = A_tmp.indexOf(A.get(i));
int a_right = A_tmp.get(idx_right);
A_tmp.set(idx_left, a_right);
A_tmp.set(idx_right, a_left);
ArrayList<Integer> xy_new = new ArrayList<Integer>();
xy_new.add(idx_left+1);
xy_new.add(idx_right+1);
ans.add(xy_new);
}
}
System.out.println(ans.size());
for(int i = 0; i < ans.size(); i++){
System.out.println(ans.get(i).get(0)+" "+ans.get(i).get(1));
}
}
}