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