結果
| 問題 |
No.1142 XOR と XOR
|
| ユーザー |
|
| 提出日時 | 2022-03-07 23:54:23 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 145 ms / 2,000 ms |
| コード長 | 706 bytes |
| コンパイル時間 | 247 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 114,688 KB |
| 最終ジャッジ日時 | 2024-11-08 03:59:13 |
| 合計ジャッジ時間 | 4,437 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
ソースコード
n,m,k = map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
M = 1<<10
mod = 10**9+7
ca = [0]*M
cb = [0]*M
ca[0] += 1
cb[0] += 1
num = 0
for a in A:
num ^= a
ca[num] += 1
num = 0
for b in B:
num ^= b
cb[num] += 1
sA,sB = [0]*M,[0]*M
for i in range(M):
for j in range(i+1):
if i == j:
sA[0] += ca[i]*(ca[i]-1)//2
sA[0] %= mod
sB[0] += cb[i]*(cb[i]-1)//2
sB[0] %= mod
else:
sA[i^j] += ca[i]*ca[j]
sA[i^j] %= mod
sB[i^j] += cb[i]*cb[j]
sB[i^j] %= mod
ans = 0
for i in range(M):
ans += sA[i]*sB[k^i]%mod
ans %= mod
print(ans)