結果
問題 | No.281 門松と魔法(1) |
ユーザー |
|
提出日時 | 2017-06-26 21:18:37 |
言語 | Ruby (3.4.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,136 bytes |
コンパイル時間 | 185 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-10-04 09:49:53 |
合計ジャッジ時間 | 6,530 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 52 WA * 3 RE * 2 |
コンパイルメッセージ
Main.rb:23: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:31: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:36: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:42: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:47: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:59: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
def kadomatu?(a,b,c) (a!=c)&&((a<b&&b>c)||(a>b&&b<c)) end def say(t) puts t;exit 0 end def magic(h,d) [0,h-d].max end d,a,b,c = STDIN.read.split.map(&:to_i) say 0 if kadomatu?(a,b,c) a,c = c,a if a > c l = [a,b,c].min if a==b && b==c say -1 if l <= d say 2 end if [a,b,c].uniq.size == 2 if a==c if a < b say 1 if a>=1 say -1 else # a>b say 1 if kadomatu?(magic(a,d),b,c) say 3 if kadomatu?(magic(a,d*2),b,magic(c,d)) say 5 if kadomatu?(magic(a,d*3),b,magic(c,d*2)) say -1 end end # a<c if a==b say 1 if a>=1 say -1 else # b==c say 1 if kadomatu?(a,b,magic(c,d)) say 2 if kadomatu?(a,b,magic(c,d*2)) say -1 end end # a<b<c result = [] result << (c-b+d-1)/d if kadomatu?(a,b,magic(c,(c-b+d-1)/d*d)) result << ((c-b+d-1)/d+1) if kadomatu?(a,b,magic(c,(c-b+d-1)/d*d+d)) result << (b-a+d-1)/d if kadomatu?(a,magic(b,(b-a+d-1)/d*d),c) result << ((b-a+d-1)/d+1) if kadomatu?(a,magic(b,(b-a+d-1)/d*d+d),c) say -1 if result.empty? say result.min