比赛 2025暑期集训第7场 评测结果 AAAAAAAAAA
题目名称 Power Calculus 最终得分 100
用户昵称 李奇文 运行时间 5.412 s
代码语言 C++ 内存使用 3.68 MiB
提交时间 2025-08-11 17:24:06
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a[1005];
int dfs(int n,int sum,int k,int d){
	if(k>d) return 0;
	a[k]=sum;
	if(sum<<(d-k)<n) return 0; 
	if(sum==n) return 1; 
	for(int i=1;i<=k;i++){
		if(dfs(n,sum+a[i],k+1,d)) return 1;
		if(dfs(n,sum-a[i],k+1,d)) return 1;
	}
	return 0;  
}
int main(){
	freopen("pow_cal.in","r",stdin);
	freopen("pow_cal.out","w",stdout);
	int n;
	while(cin>>n){
		if(n==0) return 0;
		for(int i=1;;i++){
			if(dfs(n,1,1,i)){ 
				cout<<i-1<<endl;
				break;
			}
		}
	}
	return 0;
}