結果
| 問題 |
No.326 あみだますたー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-06-26 02:08:41 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,414 bytes |
| コンパイル時間 | 4,457 ms |
| コンパイル使用メモリ | 79,996 KB |
| 実行使用メモリ | 61,816 KB |
| 最終ジャッジ日時 | 2024-06-30 22:50:17 |
| 合計ジャッジ時間 | 16,991 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 2 |
| other | WA * 26 |
ソースコード
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++){
while(A_tmp.get(i) != A.get(i)){
int idx_right = A_tmp.indexOf(A.get(i));
int idx_left = idx_right-1;
int a_right = A_tmp.get(idx_right);
int a_left = A_tmp.get(idx_left);
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));
}
}
}