結果
問題 |
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)); } } }