HDU 1789 Doing Homework again
来源:互联网 发布:linux认证有哪些 编辑:程序博客网 时间:2024/06/05 14:06
题目地址:点击打开链接
思路:挺好的一题,思路错了2次,刚开始先按时间排序,再按分值排序,结果错了,这样会造成分值高但在后面的没写,分值低但在前面的写了,后来改成先按分值排序,再按时间排序,还是错了,原来先按分值排序,再按时间排序,而且还有保证尽量在截止时间附近写
AC代码:
#include <iostream>#include<cstdlib>#include<cstring>using namespace std;struct work{ int deadline; int score;}a[1010];int visit[1010];int cmp(const void *_a,const void *_b){ struct work *a = (work*)_a; struct work *b = (work*)_b; if(a->score != b->score) return b->score - a->score; else return a->deadline - b->deadline;}int main(){ int n,t,i,j,sum,deadline; cin>>t; while(t--) { memset(visit,0,sizeof(visit)); sum = 0; cin>>n; for(i=0; i<n; i++) { cin>>a[i].deadline; } for(i=0; i<n ;i++) { cin>>a[i].score; } qsort(a,n,sizeof(a[0]),cmp); for(i=0; i<n; i++) { deadline = a[i].deadline; for(j=deadline; j>=1; j--) { if(!visit[j]) { visit[j] = 1; break; } } if(j == 0) sum += a[i].score; } cout<<sum<<endl; }}
0 0
- hdu 1789 doing homework again
- HDU 1789 Doing Homework again!
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 Doing Homework again
- Hdu 1789 - Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- hdu 1789 doing homework again
- HDU 1789 Doing Homework again
- HDU 1789 Doing Homework again
- HDU 1789 Doing Homework again
- HDU - 1789 Doing Homework again
- HDU 1789 Doing Homework again
- hdu 1789 Doing Homework again
- How to make my own local repository in Ubuntu?
- Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
- Python的惯例
- JPA注解之主键生成器策略
- 超标量、超级流水线、超长指令字、向量机 SIMD
- HDU 1789 Doing Homework again
- springmvc笔记
- mysql 的常见函数
- matial design
- java中PriorityQueue优先级队列使用方法
- 编写类A,该类创建的对象包含一个方法f输出英文字母表,再编写一个A类的子类B,要求必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字线表,而且调用子类新增的方法g输出希腊字
- Spring Resource
- Intent类详解
- ActionBar 透明