POJ 1664 放苹果
| Time Limit: 1000MS | Memory Limit: 10000K | |
| Total Submissions: 24985 | Accepted: 15908 |
Description
Input
Output
Sample Input
1
7 3
Sample Output
8
Source


我写的代码自己写了几个测试数据集,都没有问题的。放到POJ上,死活跑不过,是不是格式化输出问题。诶,第一题,真悲催:
#include<stdio.h> int f(int m, int n)
{
int i,result; result=0; if(n<=0)
return 0; if((0==m) || (1==m) || (1==n))
return 1; for( i=m ; i>=m/2 && i>0 ; i-- )
{ if( (m-i) > i )
{
if( (n-1) > 1)
{
result=result+f(m-i,n-1)-1;
} break;
}
else
{
result=result+f(m-i,n-1);
}
} return result;
} int main(void)
{
int t,m,n; scanf("%d",&t); while(t--)
{
scanf("%d%d",&m,&n); if(n<=0)
{
printf("\n1");
}
else
{
printf("\n%d",f(m,n));
} } return 0; }
贴一个正确版本:
#include <stdio.h>
#include <stdlib.h> int f(int, int); int main()
{
int t, m, n, sum;
scanf("%d", &t);
while (t--)
{
scanf("%d%d", &m, &n);
sum = f(m, n);
printf("%d\n", sum);
}
system("pause");
return 0;
} /* m为剩余苹果数,n为剩余盘子数 */
int f(int m, int n)
{
/* 有些盘子不放苹果,已包含在f(m, n - 1)中,返回0*/
if (m < 0) return 0;
/* 刚好每个盘子放1个,只有一种情况 */
if (m == 0) return 1;
/* 只有1个盘子可以放,也只有全部放入这一种情况 */
if (n == 1) return 1;
/* n个盘子内至少都放1个 + 只放入n-1个盘子中 */
return f(m - n, n) + f(m, n - 1);
}
POJ 1664 放苹果的更多相关文章
- poj 1664 放苹果(递推)
题目链接:http://poj.org/problem? id=1664 放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions ...
- poj 1664 放苹果 递归
题目链接: http://poj.org/problem?id=1664 题目描述: 有n个苹果,m个盒子,盒子和苹果都没有顺序,盒子可以为空,问:有多少种放置方式? 解题思路: 当前有n个苹果,m个 ...
- POJ 1664 放苹果 (递推思想)
原题链接:http://poj.org/problem?id=1664 思路:苹果m个,盘子n个.假设 f ( m , n ) 代表 m 个苹果,n个盘子有 f ( m , n ) 种放法. 根据 n ...
- poj 1664放苹果(递归)
放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37377 Accepted: 23016 Description ...
- poj 1664 放苹果 (划分数)
题意:中文题目,不解释... 题解: 第一种方法是暴力深搜:枚举盘子1~n放苹果数量的所有情况,不需要剪枝:将每次枚举的情况,即每个盘的苹果数量,以字典序排序,然后存进set里 以此去重像" ...
- poj 1664 放苹果(dfs)
放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 30284 Accepted: 19098 Description ...
- POJ 1664 放苹果 (递推)
题目链接:http://poj.org/problem?id=1664 dp[i][j]表示i个盘放j个苹果的方案数,dp[i][j] 可以由 dp[i - 1][j] 和 dp[i][j - i] ...
- OpenJudge/Poj 1664 放苹果
1.链接地址: http://bailian.openjudge.cn/practice/1664 http://poj.org/problem?id=1664 2.题目: 总时间限制: 1000ms ...
- POJ 1664 放苹果(递归或DP)
一.Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t ...
随机推荐
- jquery常用函数与方法汇总
1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...
- hdu 1754 线段树入门
线段树点修改 区间最大值查询 #include <cstdio> #include <cstdlib> #include <cmath> #include < ...
- java 几种常见的定时器
今天闲着没事就总结了一下在java中常用的几种定时器. 主要有3种java.util.Timer, ScheduledExecutorService和quartz 一.Timer 举个简单例子.每隔5 ...
- 表中相同数据的sql语句
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from ...
- jsp自定义标签分析
jsp自定义标签的优势体现在于jsp页面上面减少了java代码. jsp自定义标签有三大部分组成,首先是类继承TagSupport,实现doStartTag方法. public int doStart ...
- 改写java TreeMap制造方便查询的ip内存库
http://www.54chen.com/java-ee/chang-java-treemap-store-ip.html
- js模块化开发
主要有两个:一个是sea.js,另一个是require.js
- Floodlight 防火墙是如何起作用的
前言 用mininet + floodlight搭建好环境之后,运行flooglight,然后在mininet中建立网络拓扑,建好之后,pingall,所有host之间可以ping通. 然后向控制器f ...
- Spark Mllib逻辑回归算法分析
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3816289.html 本文以spark 1.0.0版本MLlib算法为准进行分析 一.代码结构 逻辑回归 ...
- Spring 注入static变量
一般我们我想注入一个static的变量,如下: @Autowired private static String str; 不过,这样最终结果为null. 1.使用配置文件的方式注入 priva ...