結果
| 問題 |
No.438 Cwwプログラミング入門
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-11-02 22:44:13 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 574 bytes |
| コンパイル時間 | 304 ms |
| コンパイル使用メモリ | 7,680 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2024-11-25 01:41:37 |
| 合計ジャッジ時間 | 18,004 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 47 WA * 51 |
コンパイルメッセージ
Syntax OK
ソースコード
#!/usr/bin/ruby
def f(c,n)
n==0 ? '' : n>0 ? c*n : c*-n
end
def g(n)
n==0 ? '' : n>0 ? 'C'.upcase*(n-1) : 'W'.upcase*(-n-1)
end
x,y,z=gets.split.map &:to_i
if z==0
puts :wwW
elsif y==0
if x==0||z%x>0
puts :NO
else
s='c'*(z/x)+'C'*(z/x-1)
puts s.size>10000 ? :NO : s
end
else
if (-5000..5000).each{|a|
b,r=(z-a*x).divmod(y)
next if r>0||2*a.abs+2*b.abs-1>10000
if a>0
puts f('w',b)+f('c',a)+g(b)+g(a)+(a==0||b==0 ? '' : b<0 ? 'W' : 'C')
else
puts f('c',a)+f('w',b)+g(a)+g(b)+(a==0||b==0 ? '' : a<0 ? 'W' : 'C')
end
break
}
puts :NO
end
end