J-plan(贪心)

题目描述

There are n students going to travel. And hotel has two types room:double room and triple room. The price of a double room is p2 and the price of a triple room is p3.Now you need to calulate the minimum total cost of these students.

输入描述:

The first line has three integers n, p2, p3

输出描述:

Output the minimum total cost.

输入例子:
4 2 3
输出例子:
4

-->

示例1

输入

4 2 3

输出

4
示例2

输入

5 1 3

输出

3

备注:

1<=n<=10^9
1<=p2,p3<=10^9
解题思路:题意很简单,就是安排n个学生全部住进2人间或者3人间(可以不住满)后使得总花费最少。典型的贪心策略,考虑性价比,设2人间的单价为x/间,性价比为x/2,3人间的单价为y/间,性价比为y/3,分为两种情况:一、如果3*x>2*y,表示应选3人间比较划算,那么有3种贪心可能:①n%3余数为0,全选3人间;②余数为1,全选3人间,或者最后1个学生选2人间,或者最后4个学生选2人间;③余数为2,全选3人间,或者最后2个学生选2人间;二、如果3*x<=2*y,表示选2人间比较划算,那么有2种贪心可能:①n%2余数为1,全选2人间,或者最后一个学生选3人间;②余数为0,全选2人间。
AC代码:
 #include<bits/stdc++.h>
using namespace std;
typedef long long LL;LL n,x,y;
int main(){
while(cin>>n>>x>>y){
if(*x>*y){
if(!(n%))cout<<n/*y<<endl;
else if(n%==)cout<<min(min((n/+)*y,n/*y+x),(n/-)*y+*x)<<endl;
else cout<<min((n/+)*y,n/*y+x)<<endl;
}
else{
if(n%)cout<<min((n/+)*x,(n/-)*x+y)<<endl;
else cout<<n/*x<<endl;
}
}
return ;
}

最新文章

  1. Vue.js——vue-resource全攻略
  2. Android面试题--事件处理
  3. delay(和setTimeout()的区别
  4. spark单机环境下运行一些解决问题
  5. js判断微信浏览器
  6. Ext的Panel总结(好文章)
  7. 根据DateTime来获取当天是周几(已完结)
  8. Hadoop HDFS概念学习系列之hdfs里的文件下载闲谈(二十六)
  9. 2016032101 - eclipse3.7+jdk1.6+maven3.0.5
  10. 学习Swift -- 析构过程
  11. Redis性能调优:保存SNAPSHOT对性能的影响
  12. struts2 &lt;s:iterator/&gt;怎样取得循环的索引
  13. 设计模式——代理模式(C++实现)
  14. Orcle查询优化改写-----单表查询
  15. mybatis源码之BaseStatementHandler
  16. Promise(一)
  17. Azure系列2.1.10 —— CloudBlobClient
  18. Centos-6.5搭建oracle11g RAC集群
  19. Qt中 .pro 文件和 .pri 文件简介
  20. I - Crossing River

热门文章

  1. 学习MarkDown--初体验
  2. linux 解压zip文件
  3. 深入理解 C 指针阅读笔记 -- 第六章
  4. 加密壳之ACProtect之OEP的处理
  5. ora-12541无监听的一种场景
  6. 2016/2/25 1, margin auto 垂直方向测试 无效 2,margin重叠 3,哪些是块状哪些是内联 4,display:block inline 导航栏把内联转块状最常见+ 扩展
  7. Speech Recognition Grammar Specification Version 1.0 JavaScript TTS 文本发音
  8. MySQL之——server保持与MySQL的连接
  9. forword 与 redirect
  10. ubuntu切换中英文通用方法,ubuntu中文语言