比赛 2025暑期集训第7场 评测结果 RRRRRRRRRR
题目名称 Power Calculus 最终得分 0
用户昵称 秋_Water 运行时间 0.024 s
代码语言 C++ 内存使用 3.65 MiB
提交时间 2025-08-11 17:07:13
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,ans;
int a[1008];
bool dfs(int k,int num,int dep){
	if(k>dep||num<0||num*pow(2,dep-k)<n) return 0;		
	if(num==n||num*pow(2,dep-k)==n){
		return 1;
	}
	a[k]=num;
	for(int i=0;i<=k;i++){
		if(dfs(k+1,num+a[i],dep)){
			return 1;
		}
		if(dfs(k+1,num-a[i],dep)){
			return 1;
		}
	}
	return 0;
}
int main(){
    freopen("pourwater.in", "r", stdin);
    freopen("pourwater.out", "w", stdout);		
	while(cin>>n){
		if(n==0){
			break;
		}
        if(n==1){
            cout<<0<<"\n";
            continue;
        }
		a[0]=1;
		int dep=0;
		while(!dfs(0,1,dep)){
			dep++;
		}				
		cout<<dep<<"\n"; 
	} 

	return 0;
}