当前位置: 首页 > news >正文

九度OJ 1160:放苹果 (DFS)

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:998

解决:680

题目描述:

把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
来源:
2011年北京大学计算机研究生机试真题

思路:

DFS可解。

由于盘子是一样的,不能用组合数学中的组合数解。


代码:

#include <stdio.h>
 
#define T 20
 
int apple(int m, int n, int max)
{
    if (m < 0)
        return 0;
    if (n == 1 && m > max)
        return 0;
    if (n == 1 && m <= max)
        return 1;
 
    int sum = 0;
    for (int i=max; i>=0; i--)
        sum += apple(m-i, n-1, i);
    return sum;
}
 
int main(void)
{
    int t, i;
    int m[T], n[T];
    int sum;
 
    while (scanf("%d", &t) != EOF)
    {
        for(i=0; i<t; i++)
        {
            scanf("%d%d", &m[i], &n[i]);
            sum = apple(m[i], n[i], m[i]);
            printf("%d\n", sum);
        }
    }
 
    return 0;
}
/**************************************************************
    Problem: 1160
    User: liangrx06
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:912 kb
****************************************************************/


转载于:https://www.cnblogs.com/liangrx06/p/5083867.html

相关文章:

  • 58同城技术委员会执行主席沈剑:好的架构是进化来的,不是设计来的
  • php 下载doc文档
  • Sterling B2B Integrator与SAP交互 - 01 简介
  • 若烟火云朵只给你一人
  • Daily Scrumming* 2015.10.29(Day 10)
  • 一个bug
  • java IO存在问题
  • eclipse 弹出智能提示、代码自动换行
  • 从一个Fragment跳转到另一个Fragment
  • Hdu 5100 Chessboard
  • [国嵌攻略][051][NandFlash原理解析]
  • Java 批量插入数据(Oracle)
  • 使用Eclipse生成WebService代理并测试
  • 我所理解的大数据个性化推荐
  • 【转】JDBC为什么要使用PreparedStatement而不是Statement
  • 【391天】每日项目总结系列128(2018.03.03)
  • Android 架构优化~MVP 架构改造
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES6核心特性
  • Java IO学习笔记一
  • js 实现textarea输入字数提示
  • js算法-归并排序(merge_sort)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Spring Cloud Feign的两种使用姿势
  • vuex 学习笔记 01
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • Yii源码解读-服务定位器(Service Locator)
  • 高程读书笔记 第六章 面向对象程序设计
  • 关于springcloud Gateway中的限流
  • 关于使用markdown的方法(引自CSDN教程)
  • 数据结构java版之冒泡排序及优化
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ###C语言程序设计-----C语言学习(3)#
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $.ajax()参数及用法
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (算法)前K大的和
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)EOS中账户、钱包和密钥的关系
  • (转)菜鸟学数据库(三)——存储过程
  • ./configure、make、make install 命令
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net refrector
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET大文件上传知识整理
  • .NET中 MVC 工厂模式浅析
  • /boot 内存空间不够
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [boost]使用boost::function和boost::bind产生的down机一例