POJ 1456 Supermarket(贪心)
2016-01-25 16:37
281 查看
每次贪价值最大的商品,把时间看作一个个的点,从最晚的时间往前没卖商品的时间点,找到就加上,做完为止
#include<stdio.h> #include<algorithm> using namespace std; struct aaa{ int price,time; }; int cmp(aaa a,aaa b){ return a.price>b.price; } int deal(int n){ int i,j,q[10000]={0},w,t,total=0,max=0; aaa z[10000]; for(i=0;i<n;i++){ scanf("%d %d",&z[i].price,&z[i].time); if(max<z[i].time) max=z[i].time; } sort(z,z+n,cmp); /*for(i=0;i<n;i++) printf("%d->%d ",z[i].price,z[i].time); printf("\n--------------------------------------------\n");*/ for(i=0;i<n;i++){ w=z[i].time; while(q[w]==1&&w>0) w--; if(w==0) continue; total+=z[i].price; q[w]=1; } return total; } int main(){ int n,i,k=0,s[100]; //freopen("Supermarket.in","r",stdin); while(scanf("%d",&n)!=EOF) s[k++]=deal(n); for(i=0;i<k;i++) printf("%d\n",s[i]); return 0; }
相关文章推荐
- 用Kruskal算法解POJ 1251 Jungle Roads代码
- C++成员函数指针的应用
- C++类模板的成员函数模板写法
- C++ Template 中的typename、class关键字区别
- VC++数据类型
- Microsoft Office 2007 SP1 简体中文龙卷风版
- utc时间转换localtime
- 同步和异步的区别
- C++拷贝构造函数(深拷贝,浅拷贝)
- VIM选择文本块/复制/粘贴
- C/C++联合(Union)浅谈
- Linux在防火墙中开放SVN端口
- bash: chkconfig: command not found
- C++技巧之名字空间namespace
- VS编译debug模式静态库(lib)的结尾_d修改
- 在C++中调用DLL中的函数
- VC动态调用DLL的调试方法
- 易混淆的概念---匿名函数和闭包
- inputstream输出为String
- MBProgressHUD的基本使用