uva 10026 Shoemaker's Problem(贪心+排序)
2015-08-04 23:12
323 查看
虽然是个水题,但是在一些细节上wa了几次,好像不支持'\b'退格符号,我用在了输出空格那,结果wa了。。。白白
wa了几次。。。题意是看的题解。。今天只写了两道题,速度有点慢,得加快了,以后得先认真读懂题目,题目读懂了
就相当于做出来一半
然后仔细动脑想想,有想法了再敲,不能盲目的做题。另外,热烈祝贺今天c++ primer看到
了100页
思路:
这道题是让给的数据是每件工作需要做的天数和每耽误一天所需要的费用,让求一个序列使得付费最小,如果有相同答
案把字典树最小的输出。。。输出的是序号,该件工作所排的序号。。。很明显就是贪心,单个工作所需费用排序,最
高的先做就可以了,注意是double型排序,判断是否等于零的时候不能直接用==,因为是二级排序,而且别忘了取绝
对值,这题没有取绝对值也过了。。。浮点数取绝对值是fabs。。。
贴代码:
wa了几次。。。题意是看的题解。。今天只写了两道题,速度有点慢,得加快了,以后得先认真读懂题目,题目读懂了
就相当于做出来一半
然后仔细动脑想想,有想法了再敲,不能盲目的做题。另外,热烈祝贺今天c++ primer看到
了100页
思路:
这道题是让给的数据是每件工作需要做的天数和每耽误一天所需要的费用,让求一个序列使得付费最小,如果有相同答
案把字典树最小的输出。。。输出的是序号,该件工作所排的序号。。。很明显就是贪心,单个工作所需费用排序,最
高的先做就可以了,注意是double型排序,判断是否等于零的时候不能直接用==,因为是二级排序,而且别忘了取绝
对值,这题没有取绝对值也过了。。。浮点数取绝对值是fabs。。。
贴代码:
#include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> using namespace std; struct node { double d; int pos; }c[1005]; int cmp(const void *a,const void *b) { if(fabs(((node *)a)->d - ((node *)b)->d) < 1e-6) return ((node *)a)->pos - ((node *)b)->pos; return ((node *)a)->d - ((node *)b)->d >0? -1:1; } int main() { int T,i,n,a,b; cin >> T; while(T--) { cin >> n; for(i=1; i<=n; i++) { cin >> a >> b; c[i].d = b*1.0/a; c[i].pos = i; } qsort(c+1,n,sizeof(c[0]),cmp); for(i=1; i<=n; i++) { cout << c[i].pos; if(i!=n) cout << " "; } //cout << c[i].d << " " << c[i].pos << " "; cout << endl; if(T!=0) cout << endl; } return 0; }
相关文章推荐
- Java中的键盘监听事件KeyListener
- 欢迎使用CSDN-markdown编辑器
- U盘制作linux centos6.5
- std::forward 完美转发的原理
- String源码
- hdoj 1181 变形课 【DFS】
- 在阿里云服务器(ECS)上从零开始搭建nginx服务器
- 检测到“ITERAOR_DEBUG_LEVEL”的不匹配项:值2不匹配值0
- scala学习记录之trait
- Android Studio升级到最新v1.3版后配置GitHub提示Gradle版本不支持的问题
- C/C++经典算法精华整理(1)-求一个数的二进制类型中1(或0)的个数
- [c]noip 1999 导弹拦截
- usaco 1.2 Palindromic Squares题解
- C#网络编程《三》
- 网络tcp/ip资料
- scala中同步块
- bzoj 3479: [Usaco2014 Mar]Watering the Fields
- POJ - 1463Strategic game入门树形DP
- poj 2947 高斯消元求解方程组取模
- Android 网络请求框架总结(二)