记录编号 604791 评测结果 AAAAAAAAAA
题目名称 3451.Power Calculus 最终得分 100
用户昵称 Gravatar对立猫猫对立 是否通过 通过
代码语言 C++ 运行时间 3.782 s
提交时间 2025-08-11 20:11:46 内存使用 3.25 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n, m, s[100];
int dfs(int p, int sum) {
	if(p > m) return sum == n;
	if(sum << (m - p + 1) < n) return 0;
	s[p] = sum;
	for(int i = 1; i <= p; i++)
		if(dfs(p + 1, sum - s[i]) || dfs(p + 1, sum + s[i])) return 1;
	return 0;
}
int main() {
	while(cin >> n && n != 0) {
		for(m = 0; !dfs(1, 1); m++);
		cout << m << endl;
	}
}