求如何模拟与代码含义
  • 板块灌水区
  • 楼主lucy2012
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/9/17 12:13
  • 上次更新2024/9/17 16:00:57
查看原帖
求如何模拟与代码含义
1252442
lucy2012楼主2024/9/17 12:13
#include<cstdio>
typedef long long LL;
const int M=1e3+5;

int n;
LL b[M], ans;

int main(){
    scanf("%d",&n);
    if(((1+n) *n /2)&1)puts("0");
    else{
        for(int i=0;i<(1<<(n/2));++i){
            int cur=0;
            for(int j=0; (i>>j)>0 ;++j) if((i>>j) &1) cur+=(j+1);
            b[cur]++;
        }
        for(int i=0;i<(1<<(n-n/2));++i){
            int cur=0;
            for(int j=0;(i>>j)>0;++j) if((i>>j)&1) cur+=j+n/2+1;
            if((1+n) *n / 4 >=cur)
                ans+=b[(1+n) * n / 4-cur];
        }
        printf("%lld\n", ans /2);
    }
    return 0;
}

代码可能有误,还可以见这里:

2024/9/17 12:13
加载中...