编程练习-勇者斗恶龙
2016-03-25 15:00
253 查看
贪心算法例子:
你的国王中有一条n个头的龙,你希望雇佣一些骑士把它杀死。村里有m个骑士,且只能雇佣一次。
一个能力值为x的骑士,只能砍掉一个直径不超过x的头,
且需要支付的金币为x,如何雇佣这些骑士支付金币最少。
例子:
input:2 3
5
4
7
8
4
output:11
input:2 1
5
5
10
output:Loowater is doomed!
Kindy
2016年3月25日
你的国王中有一条n个头的龙,你希望雇佣一些骑士把它杀死。村里有m个骑士,且只能雇佣一次。
一个能力值为x的骑士,只能砍掉一个直径不超过x的头,
且需要支付的金币为x,如何雇佣这些骑士支付金币最少。
例子:
input:2 3
5
4
7
8
4
output:11
input:2 1
5
5
10
output:Loowater is doomed!
int main(void) { int n = 0, m = 0; int iDragonArr[2000], iLoowaterArr[2000]; cin >> n >> m; for(int i = 0; i < n; ++i){ cin >> iDragonArr[i]; } for(int i = 0; i < m; ++i){ cin >> iLoowaterArr[i]; } // 贪心算法 int iTemp = 0, iCoin = 0, itemp = 0; if(n <= m){ for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ if(iDragonArr[i] <= iLoowaterArr[j]){ if(iTemp == 0){ iTemp = iLoowaterArr[j]; itemp = j; }else{ if(iTemp > iLoowaterArr[j]){ iTemp = iLoowaterArr[j]; itemp = j; } } } } iCoin += iTemp; iTemp = 0; iLoowaterArr[itemp] = 0; itemp = 0; } cout << iCoin << endl; }else{ cout << "LooWater is doomed" << endl; } return 0; }
Kindy
2016年3月25日
相关文章推荐
- PHP超级全局变量总结
- pthread和std::thread中条件变量的使用
- C++实现voronoi图
- SVN 将主干的代码合并到分支上
- lua string库
- Python接收开源中国GITOSC WebHook的POST数据
- java编写文件路径用的File.separator和直接打“\\”有什么区别啊?
- lua table库
- python3.5之输出HTML实体字符
- python web
- Java 里氏替换原则
- 排序算法-插入排序
- java小过
- 排序算法-交换排序
- go语言映射map的线程协程安全问题
- java数据库操作
- 排序算法-冒泡排序
- Struts2 实现JSP页面之间的传值
- spring MVC配置详解
- java 小结 (三)