結果

問題 No.939 and or
ユーザー simansiman
提出日時 2020-08-29 05:23:06
言語 Ruby
(3.3.0)
結果
AC  
実行時間 85 ms / 2,000 ms
コード長 489 bytes
コンパイル時間 156 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-04-26 15:58:14
合計ジャッジ時間 3,939 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 85 ms
12,160 KB
testcase_01 AC 81 ms
12,288 KB
testcase_02 AC 83 ms
12,032 KB
testcase_03 AC 81 ms
12,160 KB
testcase_04 AC 83 ms
12,288 KB
testcase_05 AC 79 ms
12,032 KB
testcase_06 AC 78 ms
12,160 KB
testcase_07 AC 79 ms
12,160 KB
testcase_08 AC 80 ms
12,416 KB
testcase_09 AC 81 ms
12,288 KB
testcase_10 AC 84 ms
12,032 KB
testcase_11 AC 82 ms
12,160 KB
testcase_12 AC 82 ms
12,160 KB
testcase_13 AC 82 ms
12,160 KB
testcase_14 AC 80 ms
12,160 KB
testcase_15 AC 80 ms
12,160 KB
testcase_16 AC 82 ms
12,160 KB
testcase_17 AC 82 ms
12,160 KB
testcase_18 AC 81 ms
12,288 KB
testcase_19 AC 82 ms
12,032 KB
testcase_20 AC 82 ms
12,288 KB
testcase_21 AC 82 ms
12,416 KB
testcase_22 AC 81 ms
12,032 KB
testcase_23 AC 83 ms
12,416 KB
testcase_24 AC 81 ms
12,416 KB
testcase_25 AC 78 ms
12,032 KB
testcase_26 AC 79 ms
12,416 KB
testcase_27 AC 79 ms
12,288 KB
testcase_28 AC 80 ms
12,160 KB
testcase_29 AC 80 ms
12,160 KB
testcase_30 AC 80 ms
12,288 KB
testcase_31 AC 80 ms
12,160 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

A, B = gets.split.map(&:to_i)

bits_a = []
bits_b = []

A.to_s(2).rjust(32, '0').reverse.each_char.with_index do |ch, idx|
  next if ch == '0'

  bits_a << idx
end

B.to_s(2).rjust(32, '0').reverse.each_char.with_index do |ch, idx|
  next if ch == '0'

  bits_b << idx
end

a = (bits_a & bits_b).size
b = bits_b.size - a
c = (bits_a - bits_b).size

# p [:bits_a, bits_a]
# p [:bits_b, bits_b]
# p [:a, a, :b, b, :c, c]

if c > 0
  puts 0
elsif b == 0
  puts 1
else
  puts (2 ** b) / 2
end
0