結果
| 問題 | 
                            No.2397 ω冪
                             | 
                    
| コンテスト | |
| ユーザー | 
                             gew1fw
                         | 
                    
| 提出日時 | 2025-06-12 14:12:19 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 967 bytes | 
| コンパイル時間 | 324 ms | 
| コンパイル使用メモリ | 82,904 KB | 
| 実行使用メモリ | 62,592 KB | 
| 最終ジャッジ日時 | 2025-06-12 14:12:56 | 
| 合計ジャッジ時間 | 6,691 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 20 WA * 16 TLE * 1 -- * 4 | 
ソースコード
def compare(n_str, m_str):
    def get_exponents(s):
        exponents = []
        while s:
            i = s.rfind('1')
            if i == -1:
                break
            trailing_zeros = len(s) - 1 - i
            exponents.append(trailing_zeros)
            s = s[:i]
            if s:
                s = bin(int(s, 2) - 1)[2:]
        return exponents
    e_n = get_exponents(n_str)
    e_m = get_exponents(m_str)
    e_n_rev = list(reversed(e_n))
    e_m_rev = list(reversed(e_m))
    max_len = max(len(e_n_rev), len(e_m_rev))
    for i in range(max_len):
        a = e_n_rev[i] if i < len(e_n_rev) else -1
        b = e_m_rev[i] if i < len(e_m_rev) else -1
        if a < b:
            return True
        elif a > b:
            return False
    return len(e_n_rev) < len(e_m_rev)
n_bin = input().strip()
m_bin = input().strip()
if n_bin == '0' and m_bin == '0':
    print("No")
elif compare(n_bin, m_bin):
    print("Yes")
else:
    print("No")
            
            
            
        
            
gew1fw