結果
問題 |
No.2397 ω冪
|
ユーザー |
![]() |
提出日時 | 2025-06-12 14:28:42 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,412 bytes |
コンパイル時間 | 403 ms |
コンパイル使用メモリ | 82,288 KB |
実行使用メモリ | 284,616 KB |
最終ジャッジ日時 | 2025-06-12 14:28:48 |
合計ジャッジ時間 | 6,188 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 WA * 5 TLE * 1 -- * 4 |
ソースコード
def get_b_list_reversed(bin_str): b_list = [] s = bin_str.lstrip('0') or '0' # Handle leading zeros while s != '0': # Count trailing zeros by reversing the string reversed_s = s[::-1] b = 0 while b < len(reversed_s) and reversed_s[b] == '0': b += 1 b_list.append(b) # Remove the trailing b zeros if b >= len(reversed_s): s = '0' else: s = reversed_s[b:][::-1].lstrip('0') or '0' # Subtract 1 from s if s == '0': s = '0' else: 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: s_list[i] = '0' else: s_list = ['1'] + s_list # Remove leading zeros after subtraction new_s = ''.join(s_list).lstrip('0') or '0' # Divide by 2 (right shift) s = new_s[:-1] if len(new_s) > 1 else '0' return b_list[::-1] # Reverse to get the correct order n_bin = input().strip() or '0' m_bin = input().strip() or '0' n_b_list = get_b_list_reversed(n_bin) m_b_list = get_b_list_reversed(m_bin) # Compare lexicographically if n_b_list < m_b_list: print("Yes") else: print("No")