80分求助!!急嘤嘤嘤

P3857 [TJOI2008] 彩灯

cxlian25 @ 2023-03-27 18:15:51

#include <bits/stdc++.h>
#define p 2008
using namespace std;
int n,m;
char s[65];
int t[65];
int shu[65][65];
void insert(int x,char *s){
    for(int i=1;i<=n;i++){
        if(s[i]=='O')shu[x][i]=1;
        else shu[x][i]=0;
    }
    for(int i=n;i>=1;i--){
        if(!shu[x][i])continue;
        if(!t[i]){
            t[i]=x;
            break;
        }
        else{
            for(int j=i;j>=1;j--){
                shu[i][j]^=shu[t[i]][j];
            }
        }
    }
}
int mi(int x){
    int a=2;
    int sum=1;
    while(x){
        if(x&1)sum=(sum*a)%p;
        a=(a*a)%p;
        x>>=1;
    }
    return sum;
}
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++){
        scanf("%s",s+1);
        insert(i,s);
    }
    int ans=0;
    for(int i=1;i<=n;i++){
        if(t[i])ans++;
    }
    printf("%d\n",mi(ans));
    return 0;
}

by cxlian25 @ 2023-03-27 18:23:17

换成实数储存而不是数组就对了,不知道这个为什么不行,怎么会是啊


by ZackofZHOU @ 2024-09-05 13:35:24

@cxlian25 不开long long见祖宗


|