hdu 1009 猫鼠交易!!c++
2014-02-27 17:06
363 查看
点击打开链接
#include<algorithm> #include<cstring> #include<iomanip> #include<iostream> using namespace std; struct Trade { int food; int javabean ; double rate ; } mouse[1002] ; bool cmp(Trade a , Trade b) { return a.rate > b.rate ; } int main() { int Catfood , room , i ; while(cin >> Catfood >> room && !(Catfood == -1 || room == -1)) { for(i = 0 ;i < room; i++) { cin >> mouse[i].javabean >> mouse[i].food ; mouse[i].rate = mouse[i].javabean*1.0/mouse[i].food ; } sort(mouse , mouse+room , cmp) ; double sum = 0; for(i = 0 ;i < room ; i++) { if(Catfood > mouse[i].food) { sum += mouse[i].javabean ; Catfood -= mouse[i].food ; } else { sum += mouse[i].rate*Catfood ; break ; } } cout << setiosflags(ios::fixed) << setprecision(3) << sum << endl ; //std::cout<<std::setiosflags(std::ios∷fixed)<<std::setprecision(3); //std::代表标准库全局域 //std::ios∷fixed代表全局域下有个类ios,ios类中有个常量fixed。 //是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点数,并且在允许的精度范围内尽可能的把数字移向小数点右侧; //std::setiosflags(std::ios∷fixed)设置小数。 //setprecision(3)是设置数字的精度为3 //#include <iomanip> 头文件必须包含,这个没什么好说的,上面的都在iomanip中定义。 } }
相关文章推荐
- 类设计者的核查表----摘自C++沉思录
- vc++6.0快捷键小结
- C语言求定积分
- c++ virtual deconstructor
- (C语言版)栈和队列(一)——实现链式栈和链式队列的基本操作以及遇到的问题
- 【C/C++】构造函数的初始化列表
- C语言单件模式
- C++读写EXCEL文件方式比较
- c++ virtual deconstructor
- C++中的单例模式
- C++多线程
- 【c++】PAT (Advanced Level)1023. Have Fun with Numbers (20)
- C++中程序化操作虚函数列表实验
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- 使用C++实现的多线程定时任务管理器
- c++ const使用小结
- 如何来理解c语言的这个陷阱
- baidu c++吧上的一道题
- c语言中static的作用
- C++数据类型