結果

問題 No.466 ジオラマ
ユーザー te-shte-sh
提出日時 2017-12-07 16:57:28
言語 D
(dmd 2.109.1)
結果
WA  
実行時間 -
コード長 1,635 bytes
コンパイル時間 657 ms
コンパイル使用メモリ 100,504 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-12 22:52:56
合計ジャッジ時間 4,613 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 76 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

import std.algorithm, std.conv, std.range, std.stdio, std.string;

void main()
{
  auto rd = readln.split.to!(int[]), a = rd[0], b = rd[1], c = rd[2], d = rd[3];
  auto v0 = a-c, v1 = b-c, v2 = c, v = a+b-c;

  if (v < 2) {
    writeln(-1);
    return;
  } else if (v2 == 0) {
    auto e = v0-1 + v1-1;
    if (d < e) {
      writeln(-1);
      return;
    }
    writeln(v, " ", e);
    foreach (i; 0..v0-1)
      writeln(0, " ", i+2);
    foreach (i; 0..v1-1)
      writeln(1, " ", i+v0+1);
  } else if (v0 > 0 && v1 > 0) {
    auto e = v0-1 + v1-1 + v2+1;
    if (d < e) {
      writeln(-1);
      return;
    }
    writeln(v, " ", e);
    foreach (i; 0..v0-1)
      writeln(0, " ", i+2);
    foreach (i; 0..v1-1)
      writeln(1, " ", i+v0+1);
    writeln(0, " ", v0+v1);
    writeln(1, " ", v0+v1);
    foreach (i; 0..v2-1)
      writeln(v0+v1, " ", i+v0+v1+1);
  } else if (v0 == 0 && v1 > 0) {
    auto e = v2-1 + v1-1 + 1;
    if (d < e) {
      writeln(-1);
      return;
    }
    writeln(v, " ", e);
    writeln(1, " ", 0);
    foreach (i; 0..v2-1)
      writeln(0, " ", i+2);
    foreach (i; 0..v1-1)
      writeln(1, " ", i+v2+1);
  } else if (v0 > 0 && v1 == 0) {
    auto e = v2-1 + v0-1 + 1;
    if (d < e) {
      writeln(-1);
      return;
    }
    writeln(v, " ", e);
    writeln(0, " ", 1);
    foreach (i; 0..v2-1)
      writeln(1, " ", i+2);
    foreach (i; 0..v0-1)
      writeln(0, " ", i+v2+1);
  } else {
    auto e = v2+2;
    if (d < e) {
      writeln(-1);
      return;
    }
    writeln(v, " ", e);
    writeln(0, " ", 1);
    writeln(1, " ", 0);
    foreach (i; 0..v2)
      writeln(0, " ", i+2);
  }
}
0