結果
| 問題 | No.232 めぐるはめぐる (2) | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2017-05-24 13:44:33 | 
| 言語 | D (dmd 2.109.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 18 ms / 1,000 ms | 
| コード長 | 1,151 bytes | 
| コンパイル時間 | 881 ms | 
| コンパイル使用メモリ | 100,644 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-12 19:21:41 | 
| 合計ジャッジ時間 | 1,979 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 22 | 
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string;
void main()
{
  auto rd = readln.split.to!(int[]), t = rd[0], a = rd[1], b = rd[2];
  if (a == 0 && b == 0) {
    if (t == 1) {
      writeln("NO");
    } else {
      writeln("YES");
      if (t % 2 == 1) {
        writeln("^>");
        writeln("v");
        writeln("<");
        t -= 3;
      }
      foreach (_; 0..t/2) {
        writeln("^");
        writeln("v");
      }
    }
  } else {
    auto ru = min(a, b), u = a - ru, r = b - ru;
    auto m = t - (ru + r + u);
    if (m < 0) {
      writeln("NO");
    } else {
      writeln("YES");
      foreach (_; 0..m/2) {
        writeln("^");
        writeln("v");
      }
      if (m % 2 == 1) {
        if (ru > 0) {
          writeln(">");
          writeln("^");
          --ru;
        } else if (r > 0) {
          writeln("^>");
          writeln("v");
          --r;
        } else {
          writeln("^>");
          writeln("<");
          --u;
        }
      }
      foreach (_; 0..ru)
        writeln("^>");
      foreach (_; 0..u)
        writeln("^");
      foreach (_; 0..r)
        writeln(">");
    }
  }
}
            
            
            
        