結果
問題 |
No.1531 く2
|
ユーザー |
![]() |
提出日時 | 2025-05-14 13:20:09 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 692 bytes |
コンパイル時間 | 164 ms |
コンパイル使用メモリ | 82,908 KB |
実行使用メモリ | 54,148 KB |
最終ジャッジ日時 | 2025-05-14 13:20:59 |
合計ジャッジ時間 | 3,220 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 9 WA * 35 |
ソースコード
MOD = 998244353 def solve(): N, K = map(int, input().split()) ans = 1 # Iterate for up to 61 bits (s from 0 to 60) # This range is sufficient since N, K <= 10^18 < 2^60. # Higher bits of N and K will be 0. for s in range(61): n_bit = (N >> s) & 1 k_bit = (K >> s) & 1 factor = 0 if n_bit == 0 and k_bit == 0: factor = 1 elif n_bit == 0 and k_bit == 1: factor = 2 elif n_bit == 1 and k_bit == 0: factor = 3 elif n_bit == 1 and k_bit == 1: # (n_bit == 1 and k_bit == 1) factor = 4 ans = (ans * factor) % MOD print(ans) solve()