Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99903 | 王泰兮 | 拆分自然数 | C++ | 通过 | 100 | 239 MS | 256 KB | 404 | 2023-08-24 10:14:09 |
#include <iostream> using namespace std; int a[105],cnt; int n; int sp[105]; void dfs(int tot,int size){ if (tot==n){ cnt++; cout << n << "="; for (int i = 1;i<size;i++){ cout << sp[i] << "+"; } cout << sp[size] << endl; } for (int i = max(sp[size],1);i+tot<=n&&i<n;i++){ sp[size+1]=i; dfs(tot+i,size+1); } } int main(){ cin >> n; dfs(0,0); cout << cnt; }