比赛 2025暑期集训第7场 评测结果 AAAAAAAAAA
题目名称 Power Calculus 最终得分 100
用户昵称 Ruyi 运行时间 6.090 s
代码语言 C++ 内存使用 3.61 MiB
提交时间 2025-08-11 15:42:53
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int num,n,s[101];
bool dfs(int t,int m){
    if(t>num||m<=0||m<<(num-t)<n) return true;
    if(m==n||m<<(num-t)==n) return false;
    s[t]=m;
    for(int i=0;i<=t;i++){
        if(!dfs(t+1,m+s[i])) return false;
        if(!dfs(t+1,m-s[i])) return false;
    }
    return true;
}
int main(){
    freopen("pow_cal.in","r",stdin);
    freopen("pow_cal.out","w",stdout);
    cin>>n;
    while(n!=0){
        num=0;
        while(dfs(0,1)) num++;
        cout<<num<<endl;
        cin>>n;
    }
    return 0;
}