結果
問題 | No.466 ジオラマ |
ユーザー |
|
提出日時 | 2016-12-16 20:50:12 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,362 bytes |
コンパイル時間 | 4,468 ms |
コンパイル使用メモリ | 82,440 KB |
実行使用メモリ | 54,232 KB |
最終ジャッジ日時 | 2024-11-30 10:41:56 |
合計ジャッジ時間 | 25,786 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 82 WA * 1 |
ソースコード
import java.io.*; import java.util.*; public class Main_yukicoder466 { private static Scanner sc; private static Printer pr; private static void solve() { int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int d = sc.nextInt(); if (c == 0) { int min = a - 1 + b - 1; if (d < min) { pr.println(-1); return; } int n = a + b; pr.printf("%d %d\n", n, min); for (int v = 2; v < 2 + a - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a + 1; v < n; v++) { pr.printf("%d %d\n", 1, v); } } else if (a == c && c == b) { int min = a - 1 + 1; if (d < min) { pr.println(-1); return; } int n = a; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 0, 1); pr.printf("%d %d\n", 1, 0); for (int v = 2; v < 2 + a - 2; v++) { pr.printf("%d %d\n", 0, v); } } else if (a == c && c != b) { int min = a - 1 + 1 + b - c - 1; if (d < min) { pr.println(-1); return; } int n = b; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 1, 0); for (int v = 2; v < 2 + a - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a + 1; v < n; v++) { pr.printf("%d %d\n", 1, v); } } else if (a != c && c == b) { int min = b - 1 + 1 + a - c - 1; if (d < min) { pr.println(-1); return; } int n = a; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 0, 1); for (int v = 2; v < 2 + b - 1; v++) { pr.printf("%d %d\n", 1, v); } for (int v = b + 1; v < n; v++) { pr.printf("%d %d\n", 0, v); } } else { int min = a + b - c - 1; if (d < min) { pr.println(-1); return; } int n = a + b - c; pr.printf("%d %d\n", n, min); for (int v = 2; v < 2 + a - c - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a - c + 1; v < n - c; v++) { pr.printf("%d %d\n", 1, v); } pr.printf("%d %d\n", 0, n - c); pr.printf("%d %d\n", 1, n - c); for (int v = n - c + 1; v < n; v++) { pr.printf("%d %d\n", n - c, v); } } } // --------------------------------------------------- public static void main(String[] args) { sc = new Scanner(System.in); pr = new Printer(System.out); solve(); pr.close(); sc.close(); } private static class Printer extends PrintWriter { Printer(PrintStream out) { super(out); } } }