結果
問題 |
No.1142 XOR と XOR
|
ユーザー |
![]() |
提出日時 | 2020-08-01 13:45:07 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 535 bytes |
コンパイル時間 | 2,056 ms |
コンパイル使用メモリ | 195,908 KB |
最終ジャッジ日時 | 2025-01-12 12:37:01 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
#include<bits/stdc++.h> #define r(i,m,n) for(int i=m;i<n;i++) #define m 1000000007 #define n 1024 using namespace std;int main(){int N,M,K,s=0;cin>>N>>M>>K;vector<long>P(N+1),Q(M+1),A(n),B(n),C(n),D(n);r(i,1,N+1)cin >> P[i];r(i,1,M+1)cin >> Q[i];r(i,1,N+1)P[i]^=P[i-1];r(i,1,M+1)Q[i]^=Q[i-1];r(i,0,N+1)A[P[i]]++;r(i,0,M+1)B[Q[i]]++;r(i,0,n)r(j,i,n){if(i==j){C[0]=(C[0]+A[i]*(A[i]-1)/2%m)%m;D[0]=(D[0]+B[i]*(B[i]-1)/2%m)%m;}else{C[i^j]=(C[i^j]+A[i]*A[j]%m)%m;D[i^j]=(D[i^j]+B[i]*B[j]%m)%m;}}r(i,0,n)s=(s+C[i]*D[K^i]%m)%m;cout<<s<<endl;}