結果
問題 | No.438 Cwwプログラミング入門 |
ユーザー |
|
提出日時 | 2016-11-02 22:44:38 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 103 ms / 2,000 ms |
コード長 | 574 bytes |
コンパイル時間 | 45 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-12-26 08:39:30 |
合計ジャッジ時間 | 13,455 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 98 |
コンパイルメッセージ
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(a)+g(b)+(a==0||b==0 ? '' : b<0 ? 'W' : 'C') else puts f('c',a)+f('w',b)+g(b)+g(a)+(a==0||b==0 ? '' : a<0 ? 'W' : 'C') end break } puts :NO end end