結果

問題 No.1142 XOR と XOR
ユーザー stng
提出日時 2022-09-05 21:38:12
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 927 bytes
コンパイル時間 297 ms
コンパイル使用メモリ 82,404 KB
実行使用メモリ 201,124 KB
最終ジャッジ日時 2024-11-20 22:29:36
合計ジャッジ時間 54,275 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other WA * 5 RE * 4 TLE * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

n,m,k = map(int,input().split())
a = [int(i) for i in input().split()]
b = [int(i) for i in input().split()]

mod = 10**9+7
ngs = 1024#1024

arui = [0]*(ngs)
arui[0] = 1
ali = [0]*(ngs)

for i in range(n):
    narui = [0]*ngs
    narui[0] = 1
    for j in range(ngs):
        narui[j^a[i]] += arui[j]
        narui[j^a[i]] %= mod
    arui = narui[:]
    for j in range(ngs):
        if j == 0:
            ali[j] += arui[j]-1
        else:
            ali[j] += arui[j]
        ali[j] %= mod

brui = [0]*(ngs)
brui[0] = 1
bli = [0]*(ngs)

for i in range(n):
    nbrui = [0]*ngs
    nbrui[0] = 1
    for j in range(ngs):
        nbrui[j^b[i]] += brui[j]
        nbrui[j^b[i]] %= mod
    brui = nbrui[:]
    for j in range(ngs):
        if j == 0:
            bli[j] += brui[j]-1
        else:
            bli[j] += brui[j]
        bli[j] %= mod

ans = 0
for i in range(ngs):
    ans += ali[i]*bli[i^k]
    ans %= mod

print(ans)
0