結果
| 問題 |
No.2397 ω冪
|
| コンテスト | |
| ユーザー |
gew1fw
|
| 提出日時 | 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")
gew1fw