[1046] 整数划分

来源:互联网 发布:儿童编程 编辑:程序博客网 时间:2024/05/29 17:51

传送门:http://acm.nbut.edu.cn/Problem/view.xhtml?id=1046

#include<stdio.h>int a[55];int n;void dfs(int cnt, int sum, int pos){if(sum == n){printf("%d", a[0]);for(int i = 1; i < cnt; i++){printf(" %d", a[i]);}printf("\n");}else{for(int i = pos; i <= n; i++){if(sum + i > n)continue;a[cnt] = i;dfs(cnt + 1, sum + i, i);}}}int main(){while(~scanf("%d", &n)){dfs(0, 0, 1);}return 0;}


0 0