TOJ 2776题目链接http://acm.tju.edu.cn/toj/showp2776.html

这题其实就是考虑的周全性。。。  贡献了好几次WA, 后来想了半天才知道哪里有遗漏。最大的问题就是, 当零头是13的时候, 不一定前面的光盘都刻录到最大值。比如29,16这种情况, 如果前面的刻录最大值,这样就需要3个盘,而最少的却是 2个就够了,(15,14) 即可;知道这种情况,这题基本就可以了;

注意一下这几个数据:

13 15 输出为2

29 16 输出为2

这条题目看起来很容易,但是特殊情况很多。稍微考虑得不全面,就会有情况没有考虑到。

我们按b来分类:

1如果b<=12,那很爽,直接a/b就可以;

2如果b=13,那也很爽,直接把b当成12做就可以;

3如果b=14,如果最后一张CD里放了13首歌,那就只好再来一张;

4如果b>=15,如果最后一张CD里放了13首歌,不需要再来一张CD,从前一张里放一首在最后一张即可;

但是这样就有一个问题,如果只有1张CD,没有前面一张。这种情况下只有加一张CD。

至此,所有的可能性都讨论到了。

#include<iostream>
using namespace std; int main()
{
int group;
cin >> group; while(group > )
{ int a = ;
int b = ;
int c = ; group--; cin >> a >> b;
int sum = ; if(b == )//b==13的情况
b = ;
sum = a / b;
c = a % b;
if(c!=)
sum = sum + ; if(c == &&(b==||sum==))//注意此处
//if(c==13)//这样不对
sum = sum + ;
cout << sum << endl; }
return ;
}

TOJ 2776 CD Making的更多相关文章

  1. 【TOJ 3369】CD(二分)

    描述 Jack and Jill have decided to sell some of their Compact Discs, while they still have some value. ...

  2. linux常用命令(1)cd命令

    1 命令格式:cd [目录名]2 命令功能切换当前目录至dirName3 常用范例3.1 进入系统根目录cd /3.2 进入上级目录cd ..   或者 cd ..//3.3 进入当前用户主目录当前用 ...

  3. CI Weekly #8 | CI/CD 技能进阶路线

    在使用 flow.ci 进行持续集成的过程中,也许你会遇到一些小麻烦.最近我们整理了一些常见问题在 flow.ci 文档之 FAQ,希望对你有用.如果你遇到其他问题,也可以通过「在线消息」或去 Git ...

  4. CI Weekly #6 | 再谈 Docker / CI / CD 实践经验

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  5. 例解 Linux cd 命令

    cd 命令是 *nix 系统中最基本的命令,它所做的事情是改变你当前所在的目录.本文详细介绍该命令,它所能完成的功能以及关于该命令内在的东西. cd 命令:一个内置命令 BASH Shell 是大多 ...

  6. 如何使用DOS命令(cd命令)

    如何使用DOS命令 DOS是Disk Operation System(磁盘操作系统)的简称,是个人计算机上的一类操作系统.它直接操纵管理硬盘的文件,一般都是黑底白色文字的界面.顾名思义,DOS主要是 ...

  7. cd命令

    [cd]           切换目录     cd===>change directory 命令功能 : 切换目录到dirname 命令实例: 实例1:切换到跟目录下 命令: cd / 输出: ...

  8. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  9. Linux命令学习总结:cd命令

    命令简介: 该命令用来切换当前目录.cd 是change directory 的缩写 命令语法: cd [-L|-P] [dir] 使用示例 1:切换到当前目录的上一级目录 1: [root@DB-S ...

随机推荐

  1. Scala的trait

    一:说明 1.介绍 2.功能 二:具体解释功能 1.定义接口 2.定义方法 3.定义字段 4.定义抽象字段 5.混合trait

  2. CSS之元素选择器

    1.后代元素选择器 div p 以空格分隔,表示div的所有后代p元素 2.子元素选择器 div > p 以大于号分隔,表示div的直接子元素 3.相邻兄弟选择器 div  + p 选择紧接在d ...

  3. 使用HTML5技术控制电脑或手机上的摄像头

    移动设备和桌面电脑上的客户端API起初并不是同步的.最初总是移动设备上先拥有某些功能和相应的API,但慢慢的,这些API会出现在桌面电脑上.其中一个应用接口技术就是getUserMedia API,它 ...

  4. Python学习【第八篇】Set集合

    Set集合 set集合是无序,不能重复,可嵌套的序列 如何创建 li = [] dic = {"k1":123} se = {"123","456&q ...

  5. java 之return

    return关键词有两个用法,一方面制定一个方法返回什么值,另一方面导致当前方法退出.

  6. 28个Unix/Linux的命令行神器_转

    28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...

  7. 解决Chrome flash过期

    解决Chrome flash过期的办法安装Adobe Flash Player PPAPI

  8. C++ 中的std::vector介绍(转)

    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vec ...

  9. 安装redis

    第一步 下载 第二步 解压 .tar.gz 第三步 make cd redis- make 第四步  启动试一下 src/redis-server 好了 :C Jan ::13.501 # Warni ...

  10. php登陆与注册

    登陆页面 <body><h1>登录页面</h1><form action="./dengluchuli.php" method=" ...