比赛 2025.10.18 评测结果 AAAAATTTTT
题目名称 01数列 最终得分 50
用户昵称 汐汐很希希 运行时间 10.002 s
代码语言 C++ 内存使用 3.58 MiB
提交时间 2025-10-18 09:36:58
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=5010;
const int M=0;
const int MOD=1e9+7;
const int MAXX=2147483647;
ll n,b[N],ans,c[N];
ll fpow(ll x,ll n)
{
    ll a=1;
    while(n>0){
        if(n&1) a=a*x%MOD;
        x=x*x%MOD;
        n/=2;
    }
    return a;
}
int main()
{
    freopen("01.in","r",stdin);
    freopen("01.out","w",stdout);
    
    cin>>n;
    for(int i=0;i<n;i++) cin>>b[i];
    for(int k=0;k<fpow(2,n);k++){
        for(int i=0;i<n;i++) c[i]=(k>>i)&1;
        ll w=1;
        for(int i=0;i<n;i++){
            ll cnt=0;
            for(int j=0;j<n;j++) if(b[i]!=c[j]) cnt++;
            w*=fpow(2,cnt);
        }
        ans+=w;
    }
    cout<<ans<<endl;
    return 0;
}