求助,不知道哪写挂了
#include <bits/stdc++.h>
#define int long long
using namespace std;
int base[104];
bool add(int x){
for (int i=60;i>=0;i--){
if (x&(1ll<<i)){
if (!base[i]){
base[i]=x;return 1;
}else x^=base[x];
}
}
return 0;
}
signed main(){
int n,m;
cin>>n>>m;
int ans=1;
for (int i=1;i<=m;i++){
string s;cin>>s;
int x=0;
for (int j=0;j<n;j++){
int p=n-1-j;
if (s[j]=='O') x^=(1ll<<p);
}
if (add(x)) ans<<=1;
}
cout<<ans%2008;
return 0;
}