2014校选题(二)-- 母函数问题
2014-04-23 13:46
148 查看
题目二
【问题描述】
排列组合问题中,分割是个有趣的问题。分割的意思,是把一個数字切成很多小部分之后,要保持总和不变。例如a+b+c=5, 而a,b,c都要是整数。则可能的情況是1+1+3,或是1+3+1或是1+2+2…等有很多个。現在为了简化问题,我们只想知道输入一个数字N,请问只用1,2,3三个数字字来切,則共有几种不同的组合方式?请输出全部的组合。
例如N=5,则输出 5=1+1+1+1+1=1+1+1+2=1+1+3=1+2+2=2+3 ,共有5种可能。
若N=6,则输出6=1+1+1+1+1+1=1+1+1+1+2=1+1+1+3=1+1+2+2=1+2+3=2+2+2=3+3共有7种可能。
【输入】
每行一个样本,在那一行中,只有一个数字N,保证在1到15之间。
【输出】
每个样本,有很多行输出。每行代表一种可能,请输出全部可能的组合情形。输出来的顺序可以与范例不同。但总数要相同。另外,每个样本之间用一个空白行隔开。
【样例输入】
6
【样例输出】
1+1+1+1+1+1
1+1+1+1+2
1+1+1+3
1+1+2+2
1+2+3
2+2+2
3+3
//这道题考察母函数,将母函数模板看会后再做此题 so easy~~
【问题描述】
排列组合问题中,分割是个有趣的问题。分割的意思,是把一個数字切成很多小部分之后,要保持总和不变。例如a+b+c=5, 而a,b,c都要是整数。则可能的情況是1+1+3,或是1+3+1或是1+2+2…等有很多个。現在为了简化问题,我们只想知道输入一个数字N,请问只用1,2,3三个数字字来切,則共有几种不同的组合方式?请输出全部的组合。
例如N=5,则输出 5=1+1+1+1+1=1+1+1+2=1+1+3=1+2+2=2+3 ,共有5种可能。
若N=6,则输出6=1+1+1+1+1+1=1+1+1+1+2=1+1+1+3=1+1+2+2=1+2+3=2+2+2=3+3共有7种可能。
【输入】
每行一个样本,在那一行中,只有一个数字N,保证在1到15之间。
【输出】
每个样本,有很多行输出。每行代表一种可能,请输出全部可能的组合情形。输出来的顺序可以与范例不同。但总数要相同。另外,每个样本之间用一个空白行隔开。
【样例输入】
6
【样例输出】
1+1+1+1+1+1
1+1+1+1+2
1+1+1+3
1+1+2+2
1+2+3
2+2+2
3+3
//这道题考察母函数,将母函数模板看会后再做此题 so easy~~
/*********************** * * title: 母函数问题 * * time: 2014.4.23 * ***********************/ #include <stdio.h> void print(int i, int j, int k) { int n; if (i != 0) { n = i; for (i = 1; i < n; i++) { printf("1 + "); } printf("1"); } if (j != 0) { n = j / 2; if (i != 0) { printf(" + "); } for (j = 1; j < n; j++) { printf("2 + "); } printf("2"); } if (k != 0) { n = k / 3; if (i || j) { printf(" + "); } for (k = 1; k < n; k++) { printf("3 + "); } printf("3"); } printf("\n"); } int main() { int n; while (~scanf("%d", &n)) { int j; int i; int k; for (i = 0 ; i <= n; i++) //表示(1 + x + x^2 + x^3.....)的系数 { for (j = 0; j + i <= n; j += 2) //表示(1 + x^2 + x^4.....)的系数 { for (k = 0; k+i+j <= n ; k += 3) //表示(1 + x^3 + x^6.....) 的系数 { if (!(i==0 && j==0 && k==3 || // 防止 输入n=1,2,3 多项式结果包含单项式1,2,3的情况 i==0 && k==0 && j==2 || j==0 && k==0 && i==1)) { if (k + i + j == n) { print(i, j, k); } } } } } } return 0; }
相关文章推荐
- 2014校选题(四)-- 贪心问题
- 2014校选题(三)-- 字符串问题
- 远程连接SQL Server 2014遇到的问题和解决
- 【蒻爆了的NOIP系列--普及组初赛】(1)2010-2014问题求解
- 阿里巴巴2014校招笔试题_时长问题
- 算法题:修表钟问题(微软2014在线测试题)
- 母函数(数学问题)
- HDU 1709 母函数天平问题 可出现减法的情况 The Balance
- bzoj 4016: [FJOI2014]最短路径树问题
- 2014 图灵杯 问题 C: Digit Chains
- 砝码称重问题求解:动态规划与母函数方法
- MyEclipse2014与MySQL中文乱码问题
- 母函数在组合问题中的应用
- 杭电acm1028利用母函数求解数字拆分问题
- VS2010 C#中调用matlab2014a生成的dll的几个问题
- hdu1398 普通母函数的应用 解决多重集组合问题
- 2014 Super Training #7 C Diablo III --背包问题(DP)
- 组合数学 - 母函数 + 模板题 : 整数拆分问题
- 钱币兑换问题(母函数)
- [问题2014A02] 解答三(降阶公式法)