poj 1664
来源:互联网 发布:flexpaper flash.js 编辑:程序博客网 时间:2024/06/15 15:47
放苹果
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 33757 Accepted: 20898
Description
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
Input
第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
Output
对输入的每组数据M和N,用一行输出相应的K。
Sample Input
17 3
Sample Output
8
Source
lwx@POJ
递归思想
主要是
if(i<=j) { apple[i][j]=apple[i][i]; } if(i==j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; } if(i>j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; }
#include<stdio.h>#include<iostream>#include<algorithm>#include<cstring>#include<deque>#include<list>#include<stack>#include<queue>using namespace std;int apple[100][100];int main(){ int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { apple[i][0]=1; apple[i][1]=1; } for(int i=1;i<=m;i++) { apple[0][i]=1; apple[1][i]=1; } for(int i=2;i<=n;i++) { for(int j=2;j<=m;j++) { if(i<=j) { apple[i][j]=apple[i][i]; } if(i==j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; } if(i>j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; } } } cout<<apple[n][m]<<endl; } return 0;}
//下面是真正的递归代码
#include<stdio.h>#include<iostream>#include<algorithm>#include<cstring>#include<deque>#include<list>#include<stack>#include<queue>using namespace std;int apple[100][100];int inif(int n,int m){ if(n==1||n==0||m==1||m==0) { return 1; } if(n<m) { apple[n][m]=inif(n,n); } else if(n==m) { apple[n][m]=inif(n,m-1)+inif(n-m,m); } else { apple[n][m]=inif(n-m,m)+inif(n,m-1); } return apple[n][m];}int main(){ int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { apple[i][0]=1; apple[i][1]=1; } for(int i=1;i<=m;i++) { apple[0][i]=1; apple[1][i]=1; } cout<<inif(n,m)<<endl; } return 0;}
if(i<=j) { apple[i][j]=apple[i][i]; } if(i==j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; } if(i>j) { apple[i][j]=apple[i][j-1]+apple[i-j][j]; }
0 0
- POJ 1664
- POJ 1664
- POJ-1664
- POJ 1664
- POJ 1664
- poj 1664
- POJ 1664
- poj 1664
- POJ 1664 apple
- poj 1664 放苹果
- poj 1664 放苹果
- poj 放苹果 1664
- poj 1664 递归
- POJ 1664 放苹果
- POJ 1664 放苹果
- poj 1664 递归
- POJ 1664 放苹果
- POJ-1664-放苹果
- ai1835-宇航员 C语言 暴力求解
- UE4入门学习1:环境搭建
- 【动态规划】#1038 : 01背包
- tomcat7在eclipse中,调试时断点频繁停在threadpoolexecutor
- Flask on SAE
- poj 1664
- angular-filter自定义过滤器运行顺序
- ios 合并静态库.a文件
- 前端笔试重点(3)
- 【动态规划】完全背包
- 第十周 简单的动态规划
- leetcode 500. Keyboard Row
- Arrays.copyOfRange的用法
- 学习HTML