OpenJudge 666:放苹果
2024-08-24 05:00:27
总时间限制: 1000ms 内存限制: 65536kB
- 描述
- 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
- 输入
- 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
- 输出
- 对输入的每组数据M和N,用一行输出相应的K。
- 样例输入
-
1
7 3 - 样例输出
-
8
用数组a[i][j]来存放一个值,表示i个苹果放入J个盘子的方法
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,a[][];
void dp(){
for(int i=;i<=;i++) a[][i]=,a[i][]=;//表示0个苹果放入i个盘子的方法为1,表示i个苹果放入1个盘子的方法也为1
for(int i=;i<=;i++)
for(int j=;j<=;j++)
if(i>=j) a[i][j]=a[i-j][j]+a[i][j-];//a[i-j][j]每个盘子拿掉一个苹果,a[i][j-1]拿掉一个盘子
else a[i][j]=a[i][j-];
}
int main()
{
int T;
scanf("%d",&T);
while(T--){
dp();
scanf("%d%d",&n,&m);
printf("%d\n",a[n][m]);
}
return ;
}
最新文章
- Monkey测试4——Monkey命令行可用的全部选项
- poj 1010
- 转载~kxcfzyk:Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解
- Linq二 LinqToSql
- hadoop 文件系统API操作
- centos 挂载与卸载硬盘
- 万网免费主机wordpress快速建站教程-域名申请
- Git 详细命令集
- Bootstrap 手风琴搭配导航条实现常用菜单栏
- 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化
- STL中队列(queue)的使用方法
- node.js的安装及配置
- CTF---Web入门第十一题 PHP大法
- eclipse编写连接MySQL的简单动态网页
- 7.2.5 多层嵌套的if语句
- 1003: [ZJOI2006]物流运输 = DP+SBFA
- Linux几种服务用处介绍
- linux printf
- IOS编码转化
- oracle nodejs 访问