結果
| 問題 | 
                            No.2397 ω冪
                             | 
                    
| コンテスト | |
| ユーザー | 
                             lam6er
                         | 
                    
| 提出日時 | 2025-03-31 17:47:28 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                RE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,333 bytes | 
| コンパイル時間 | 217 ms | 
| コンパイル使用メモリ | 82,572 KB | 
| 実行使用メモリ | 78,340 KB | 
| 最終ジャッジ日時 | 2025-03-31 17:48:35 | 
| 合計ジャッジ時間 | 4,113 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 3 RE * 38 | 
ソースコード
def subtract_one(s):
    s_list = list(s)
    i = len(s_list) - 1
    while i >= 0 and s_list[i] == '0':
        s_list[i] = '1'
        i -= 1
    if i < 0:
        return '0'
    s_list[i] = '0'
    result = ''.join(s_list).lstrip('0')
    return result if result else '0'
def decompose(n_bin):
    if n_bin == '0':
        return ('0', 0)
    n_clean = n_bin.lstrip('0') or '0'
    b = 0
    for c in reversed(n_clean):
        if c == '0':
            b += 1
        else:
            break
    remaining = n_clean[:-b] if b > 0 else n_clean
    if not remaining:
        remaining = '0'
    s_minus_1 = subtract_one(remaining)
    a_bin = s_minus_1[:-1] if s_minus_1 != '0' else '0'
    if a_bin == '':
        a_bin = '0'
    return (a_bin, b)
def compare_ord(n_bin, m_bin):
    if n_bin == '0':
        return 'equal' if m_bin == '0' else 'less'
    if m_bin == '0':
        return 'greater'
    a_n, b_n = decompose(n_bin)
    a_m, b_m = decompose(m_bin)
    cmp_b = compare_ord(b_n, b_m)
    if cmp_b != 'equal':
        return cmp_b
    return compare_ord(a_n, a_m)
def clean_binary(s):
    s = s.lstrip('0')
    return s if s else '0'
n_str = input().strip()
m_str = input().strip()
n_bin = clean_binary(n_str)
m_bin = clean_binary(m_str)
result = compare_ord(n_bin, m_bin)
print("Yes" if result == 'less' else "No")
            
            
            
        
            
lam6er