結果
問題 | No.319 happy b1rthday 2 me |
ユーザー | 小指が強い人 |
提出日時 | 2015-12-12 17:42:58 |
言語 | Ruby (3.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,346 bytes |
コンパイル時間 | 222 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-09-15 08:47:12 |
合計ジャッジ時間 | 4,103 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 92 ms
12,160 KB |
testcase_01 | AC | 84 ms
12,160 KB |
testcase_02 | AC | 87 ms
12,032 KB |
testcase_03 | AC | 84 ms
12,160 KB |
testcase_04 | AC | 87 ms
12,032 KB |
testcase_05 | AC | 85 ms
12,032 KB |
testcase_06 | AC | 85 ms
12,032 KB |
testcase_07 | AC | 85 ms
12,288 KB |
testcase_08 | AC | 86 ms
12,288 KB |
testcase_09 | AC | 84 ms
12,288 KB |
testcase_10 | AC | 85 ms
12,032 KB |
testcase_11 | AC | 84 ms
12,288 KB |
testcase_12 | AC | 83 ms
12,032 KB |
testcase_13 | AC | 83 ms
12,032 KB |
testcase_14 | AC | 84 ms
12,032 KB |
testcase_15 | WA | - |
testcase_16 | AC | 82 ms
12,032 KB |
testcase_17 | AC | 83 ms
12,160 KB |
testcase_18 | AC | 83 ms
12,032 KB |
testcase_19 | AC | 82 ms
12,160 KB |
testcase_20 | AC | 86 ms
12,160 KB |
testcase_21 | AC | 82 ms
12,032 KB |
testcase_22 | AC | 82 ms
12,288 KB |
testcase_23 | AC | 81 ms
12,160 KB |
testcase_24 | AC | 83 ms
12,160 KB |
testcase_25 | AC | 86 ms
12,032 KB |
testcase_26 | AC | 84 ms
12,160 KB |
testcase_27 | AC | 86 ms
12,032 KB |
testcase_28 | AC | 86 ms
12,032 KB |
testcase_29 | AC | 86 ms
12,032 KB |
testcase_30 | AC | 87 ms
12,160 KB |
testcase_31 | AC | 86 ms
12,032 KB |
testcase_32 | AC | 85 ms
12,032 KB |
コンパイルメッセージ
Main.rb:15: warning: assigned but unused variable - an Main.rb:15: warning: assigned but unused variable - bn Main.rb:19: warning: assigned but unused variable - ch Main.rb:20: warning: assigned but unused variable - ss Syntax OK
ソースコード
#happy b1rthday 2 me def comb(n, m) q = 1 m.times do |x| q *= n - x q /= (x + 1) end return q end a, b = gets.split if a == b puts 0 exit end an, bn = a.to_i, b.to_i la = a.length lb = b.length res = 0 ch = 0 ss = "" =begin (a.to_i).upto(b.to_i) do |x| ss += x.to_s end (ss.length - 1).times do |i| ch += 1 if ss[i, 2].to_i == 12 end puts ch =end la.upto(lb) do |x| if x == 1 res += 1 next end d = x - 2 res += 10 ** d res += d * 9 * 10 ** (d - 1) if d > 0 if x >= 3 res += 10 ** (x - 2) else res += 1 end end y = 2 (la - y).downto(0) do |i| j = la - i - y q = 0 mid = a[i, y].to_i left = a[0, i].to_i right = a[i + y, j].to_i if i == 0 if mid > 12 q += 10 ** j elsif mid == 12 q += right end elsif i == la - y q += left - 10 ** (i - 1) q += 1 if mid > 12 else if mid > 12 q += (left - 10 ** (i - 1) + 1) * 10 ** j elsif mid < 12 q += (left - 10 ** (i - 1)) * 10 ** j else q += (left - 10 ** (i - 1)) * 10 ** j q += right end end res -= q end if a.length - 2 >= 0 if a[0].to_i > 2 res -= 10 ** (a.length - 2) elsif a[0].to_i == 2 res -= a[1, a.length - 2].to_i + 1 res += 1 if a[a.length - 1].to_i < 2 end else if a[0].to_i >= 2 res -= 1 end end (lb - y).downto(0) do |i| j = lb - i - y q = 0 mid = b[i, y].to_i left = b[0, i].to_i right = b[i + y, j].to_i if i == 0 if mid < 12 q += 10 ** j elsif mid == 12 q += 10 ** j - right - 1 end elsif i == lb - y q += 10 ** i - left q -= 1 if mid >= 12 else if mid < 12 q += (10 ** i - left) * 10 ** j elsif mid > 12 q += (10 ** i - left - 1) * 10 ** j else q += (10 ** i - left - 1) * 10 ** j q += 10 ** j - right - 1 end end res -= q end if b.length - 2 >= 0 if b[0].to_i < 2 res -= 10 ** (b.length - 2) elsif b[0].to_i == 2 res -= 10 ** (b.length - 2) - b[1, b.length - 2].to_i res += 1 if b[b.length - 1].to_i >= 2 end end puts res