結果
問題 | No.326 あみだますたー |
ユーザー | Daigo HIROOKA |
提出日時 | 2018-06-26 02:08:57 |
言語 | Java21 (openjdk 21) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,417 bytes |
コンパイル時間 | 3,785 ms |
コンパイル使用メモリ | 81,856 KB |
実行使用メモリ | 61,668 KB |
最終ジャッジ日時 | 2024-06-30 22:50:42 |
合計ジャッジ時間 | 14,884 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 132 ms
54,100 KB |
testcase_01 | WA | - |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | AC | 140 ms
54,328 KB |
testcase_06 | AC | 311 ms
59,948 KB |
testcase_07 | AC | 206 ms
56,648 KB |
testcase_08 | AC | 300 ms
57,712 KB |
testcase_09 | AC | 421 ms
59,660 KB |
testcase_10 | AC | 403 ms
60,088 KB |
testcase_11 | WA | - |
testcase_12 | WA | - |
testcase_13 | WA | - |
testcase_14 | WA | - |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | WA | - |
testcase_18 | WA | - |
testcase_19 | WA | - |
testcase_20 | WA | - |
testcase_21 | WA | - |
testcase_22 | WA | - |
testcase_23 | WA | - |
testcase_24 | WA | - |
testcase_25 | WA | - |
testcase_26 | WA | - |
testcase_27 | WA | - |
ソースコード
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)); } } }