记录编号 |
604791 |
评测结果 |
AAAAAAAAAA |
题目名称 |
3451.Power Calculus |
最终得分 |
100 |
用户昵称 |
对立猫猫对立 |
是否通过 |
通过 |
代码语言 |
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;
}
}