usaco-1.3.1-Mixing Milk
2014-03-29 16:27
357 查看
题目很简单,这一节好像都是贪心算法的题目吧。以前刚开始做题目的适合贪心都觉得理解起来有那么点累,现在做起来感觉特别轻松,看来和以前比进步还是挺明显的。虽然前面的题目都比较简单,但是一定要踏踏实实的做题和记录。不能好高婺远。这一次说什么也要坚持把usaco的题目全部做完。
题目链接:http://cerberus.delos.com:790/usacoprob2?a=BjvFWp72xzP&S=milk
代码:
题目链接:http://cerberus.delos.com:790/usacoprob2?a=BjvFWp72xzP&S=milk
代码:
/* ID:sunexio2 PROG:milk LANG:C++ */ #include <iostream> #include <fstream> #include <map> #include <string> #include <cmath> #include <algorithm> using namespace std; ifstream fin("milk.in"); ofstream fout("milk.out"); struct pin{ int pri, amount; }p[5500]; bool cmp(pin x, pin y){ return x.pri < y.pri; } int main(){ int n, m; while(fin >> n >> m){ for(int i = 0; i < m; ++i) fin >> p[i].pri >> p[i].amount; sort(p, p + m, cmp); int ans = 0; int i = 0; while(n){ if(n >= p[i].amount){ ans += p[i].pri * p[i].amount; n -= p[i].amount; } else{ ans += n * p[i].pri; n = 0; } ++i; } fout << ans << endl; } return 0; }
相关文章推荐
- 排序算法之堆排序
- Spring旅程(一)为什么使用Spring
- php pdo bindParam 二三事
- c++ 笔记 part1
- hdu 4503 湫湫系列故事——植树节
- Oracle 中union与order by的共用
- 【What if 系列】钨制台面板
- C语言新建文件,向文件中输入内容并读出文件内容
- [QTP] 描述性编程
- [QTP] 描述性编程
- [QTP]描述性编程
- [Java]读取文件方法大全
- 排序算法之归并排序
- Qt5打开文件对话框简述
- android opencv
- 在做出提交动作后,DropDownList中的选定值始终为最原始的选定值
- Android手机通过USB网络共享限速
- Ubuntu 设置命令行启动
- 全面了解Android开发规范
- linux命令详解