結果
問題 |
No.3012 岩井星人グラフ
|
ユーザー |
|
提出日時 | 2025-02-02 03:50:41 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 599 ms / 2,000 ms |
コード長 | 3,538 bytes |
コンパイル時間 | 3,819 ms |
コンパイル使用メモリ | 90,884 KB |
実行使用メモリ | 83,740 KB |
最終ジャッジ日時 | 2025-02-02 03:51:01 |
合計ジャッジ時間 | 18,470 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; import java.util.HashMap; import java.util.HashSet; public class Main { static void Solve() { var N = ToInt(InputNum()); var M = ToInt(InputNum()); var ans = new ArrayList<ArrayList<Integer>>(); ans.add(new ArrayList<>(Arrays.asList(N * M, N * M))); for (var i = 0; i < N; i++) { ans.add(new ArrayList<>(Arrays.asList(i + 1, (i + 1) % N + 1))); } var margin = 0; var to = 0; for (var i = 1; i <= N; i++) { for (var j = 0; j < M - 1; j++) { if (j == 0) { to = i + N + margin; ans.add(new ArrayList<>(Arrays.asList(i, to))); } else { ans.add(new ArrayList<>(Arrays.asList(to, to + 1))); to++; } } margin += M - 2; } for (ArrayList<Integer> arrayList : ans) { Output(arrayList, " "); } } public static void main(String[] args) { Solve(); System.out.print(stringBuilder.toString()); sc.close(); } static Scanner sc = new Scanner(System.in); static StringBuilder stringBuilder = new StringBuilder(); static String el = System.getProperty("line.separator"); // #region 入出力 static long InputNum() { return sc.nextLong(); } static ArrayList<Long> InputNums(long n) { ArrayList<Long> li = new ArrayList<>(); for (var i = 0; i < n; i++) li.add(sc.nextLong()); return li; } static ArrayList<ArrayList<Long>> InputsNums(long h, long w) { ArrayList<ArrayList<Long>> li = new ArrayList<ArrayList<Long>>(); for (var i = 0; i < h; i++) { li.add(InputNums(w)); } return li; } static String InputString() { return sc.next(); } static String InputStringLine() { return sc.nextLine(); } static ArrayList<String> InputStrings(long n) { var li = new ArrayList<String>(); for (var i = 0; i < n; i++) li.add(InputString()); return li; } static ArrayList<String> InputStringLines(long n) { var li = new ArrayList<String>(); for (var i = 0; i < n; i++) li.add(InputStringLine()); return li; } static ArrayList<ArrayList<String>> InputsStrings(long h, long w) { var li = new ArrayList<ArrayList<String>>(); for (var i = 0; i < h; i++) li.add(InputStrings(w)); return li; } static void Output(boolean n) { stringBuilder.append(n ? "Yes" + el : "No" + el); } static <T> void Output(T t) { stringBuilder.append(t.toString() + el); } static <T> void Output(T[] ts, String sep) { if (ts.length != 0) { stringBuilder.append(ts[0]); for (var i = 1; i < ts.length; i++) stringBuilder.append(sep + ts[i]); stringBuilder.append(el); } } static <T> void Output(ArrayList<T> ts, String sep) { if (!ts.isEmpty()) { stringBuilder.append(ts.get(0)); for (var i = 1; i < ts.size(); i++) stringBuilder.append(sep + ts.get(i)); stringBuilder.append(el); } } // #endregion // #region 変換 static int ToInt(long n) { return (int) n; } // #endregion }