結果
問題 |
No.2397 ω冪
|
ユーザー |
![]() |
提出日時 | 2025-06-12 19:07:32 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,294 bytes |
コンパイル時間 | 180 ms |
コンパイル使用メモリ | 81,936 KB |
実行使用メモリ | 84,896 KB |
最終ジャッジ日時 | 2025-06-12 19:07:40 |
合計ジャッジ時間 | 7,178 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 WA * 15 |
ソースコード
def read_binary(s): return int(s, 2) def get_exponents(n): exponents = [] while n > 0: # Count trailing zeros b = 0 while (n & 1) == 0: b += 1 n >>= 1 exponents.append(b) # Now, n is odd: n = 2a + 1 a = (n - 1) // 2 n = a return exponents def compare_exponents(e1, e2): e1_sorted = sorted(e1, reverse=True) e2_sorted = sorted(e2, reverse=True) # Compare as if they are numbers in base infinity len1 = len(e1_sorted) len2 = len(e2_sorted) min_len = min(len1, len2) for i in range(min_len): a = e1_sorted[i] b = e2_sorted[i] if a < b: return -1 elif a > b: return 1 if len1 < len2: return -1 elif len1 > len2: return 1 else: return 0 def main(): import sys input = sys.stdin.read().split() if len(input) < 2: print("No") return N_bin, M_bin = input[0], input[1] N = read_binary(N_bin) M = read_binary(M_bin) exponents_N = get_exponents(N) exponents_M = get_exponents(M) cmp = compare_exponents(exponents_N, exponents_M) if cmp < 0: print("Yes") else: print("No") if __name__ == "__main__": main()