結果

問題 No.438 Cwwプログラミング入門
ユーザー t8m8⛄️
提出日時 2016-10-30 20:30:41
言語 Nim
(2.2.0)
結果
WA  
実行時間 -
コード長 1,353 bytes
コンパイル時間 4,396 ms
コンパイル使用メモリ 65,536 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-29 19:48:35
合計ジャッジ時間 14,496 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 44 WA * 54
権限があれば一括ダウンロードができます

ソースコード

diff #

import strutils, sequtils

var
  input = stdin.readline.split.map(parseint)
  (x, y, z) = (input[0], input[1], input[2])

if x == 0 and y == 0:
  if z == 0:
    echo("c")
  else:
    echo("NO")
  quit()

if x == 0:
  if z == 0:
    echo("c")
  else:
    if z mod y == 0 and z div y*2-1 <= 10000:
      var ans = ""
      for i in 1..z div y:
        if ans.len == 0:
          ans = ans & "w"
          continue
        ans = ans & "wC"
      echo(ans)
    else:
      echo("NO")
  quit()

if y == 0:
  if z == 0:
    echo("w")
  else:
    if z mod x == 0 and z div x*2-1 <= 10000:
      var ans = ""
      for i in 1..z div x:
        if ans.len == 0:
          ans = ans & "c"
          continue
        ans = ans & "cC"
      echo(ans)
    else:
      echo("NO")
  quit()

for i in -5000..5000:
  var a = i
  if z - a*x < 0:
    continue
  if (z - a*x) mod y != 0: continue
  var
    b = (z - a*x) div y
    ans = ""
    (f, g) = (false, false)

  if a < 0:
    a = -a
    f = true

  if b < 0:
    b = -b
    g = true

  if 2*a + 2*b - 1 > 10000 : continue

  for i in 1..a:
    if ans.len == 0:
      ans = ans & "c"
      continue
    if f: ans = ans & "cW"
    else: ans = ans & "cC"
  for i in 1..b:
    if ans.len == 0:
      ans = ans & "w"
      continue
    if g: ans = ans & "wW"
    else: ans = ans & "wC"

  echo(ans)
  quit()

echo("NO")
0