結果

問題 No.1142 XOR と XOR
ユーザー stng
提出日時 2022-09-05 21:59:22
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 952 bytes
コンパイル時間 327 ms
コンパイル使用メモリ 82,912 KB
実行使用メモリ 199,984 KB
最終ジャッジ日時 2024-11-20 22:55:07
合計ジャッジ時間 57,424 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 7 TLE * 18
権限があれば一括ダウンロードができます

ソースコード

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(m):
    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
#print(ali,bli)
#exit()
ans = 0
for i in range(ngs):
    ans += ali[i]*bli[i^k]
    ans %= mod

print(ans)
0