結果

問題 No.1142 XOR と XOR
ユーザー stngstng
提出日時 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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 53 ms
66,176 KB
testcase_01 AC 51 ms
161,604 KB
testcase_02 WA -
testcase_03 TLE -
testcase_04 TLE -
testcase_05 TLE -
testcase_06 TLE -
testcase_07 TLE -
testcase_08 TLE -
testcase_09 TLE -
testcase_10 TLE -
testcase_11 RE -
testcase_12 WA -
testcase_13 RE -
testcase_14 WA -
testcase_15 TLE -
testcase_16 RE -
testcase_17 TLE -
testcase_18 WA -
testcase_19 TLE -
testcase_20 TLE -
testcase_21 WA -
testcase_22 RE -
testcase_23 TLE -
testcase_24 TLE -
testcase_25 WA -
testcase_26 TLE -
testcase_27 TLE -
権限があれば一括ダウンロードができます

ソースコード

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