結果
問題 |
No.2397 ω冪
|
ユーザー |
![]() |
提出日時 | 2025-06-12 14:11:05 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,294 bytes |
コンパイル時間 | 341 ms |
コンパイル使用メモリ | 82,436 KB |
実行使用メモリ | 84,952 KB |
最終ジャッジ日時 | 2025-06-12 14:11:41 |
合計ジャッジ時間 | 5,380 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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()