uva10026 - Shoemaker's Problem
2016-02-28 22:38
381 查看
题意:
鞋匠要完成一些任务,给你任务的完成时间t和惩罚s,让你求出怎样安排这些任务可以使惩罚更小。
思路:
贪心,感觉跟可拆背包的想法差不多,贪心决策是根据每个任务的s/t从大到小排序
代码如下:
鞋匠要完成一些任务,给你任务的完成时间t和惩罚s,让你求出怎样安排这些任务可以使惩罚更小。
思路:
贪心,感觉跟可拆背包的想法差不多,贪心决策是根据每个任务的s/t从大到小排序
代码如下:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 1005; struct shoe{ int id; double p; } a ; int cmp(shoe x, shoe y) { return x.p > y.p; } int main() { int cas; scanf("%d", &cas); while (cas--) { int n; scanf("%d", &n); int t, s; for (int i = 0; i < n; i++) { scanf("%d%d", &t, &s); a[i].p = s*(1.0) / t; a[i].id = i + 1; } sort(a, a + n,cmp); printf("%d", a[0].id); for (int i = 1; i < n; i ++) printf(" %d", a[i].id); printf("\n"); if(cas) printf("\n"); } return 0; }
相关文章推荐
- 3-7-队列的链式存储-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- cocos2d-x 有关Node
- Data到DOM,DOM到data,两个变量,我们都要互相监听
- Jmeter性能测试,MySQL JDBC request
- MySQL 快速入门
- 遗传算法工具箱使用1
- 动态规划入门
- 5.适配器模式
- 熊猫TV 弹幕助手 (开源 、 Java)
- 2016week1
- 软件工程——结合软考题
- NYOJ 38 布线问题
- NOJ排版题(1)2016.2.28
- android studio怎么生成HttpClient
- Java 中的引用
- 25.最小生成树(kruskal算法)
- 灰度值
- 25.最小生成树(kruskal算法)
- 将自己的域名重定向到某网站
- Linux 压缩命令