ACM Doing Homework again
输入
每个测试用例从正整数N(1 <= N <= 1000)开始,表示作业数。然后两行。 第一行包含N个整数,表示作业的期限,下一行包含N个整数,表示减少的分数。
输出
对于每个测试用例,应该输出减少的最小总分数,每个测试用例一行。
Sample Input
3 3 3 3 3 10 5 1 3 1 3 1 6 2 3 7 1 4 6 4 2 4 3 3 2 1 7 6 5 4
Sample Output
0 3 5Ignatius比赛回来之后,每位老师给Ignatius一个交作业的最后期限,如果交不上去就扣分。每门作业都要一天时间完成,求最少扣多少分。先输入一个T表示有T组测试数据,接下来每组数据先输入一个N,代表有N个作业,然后输入两行,第一行表示每门作业要交的日期,第二行表示对应的如果不交这门作业要扣的分数。输出要扣的最少分数。
1 #include<bits/stdc++.h> 2 using namespace std; 3 struct node{ 4 int dayline; 5 int descore; 6 bool flag; 7 }homework[1005]; 8 bool cmp(node a,node b) 9 { 10 if(a.dayline!=b.dayline) 11 return a.dayline < b.dayline; /*按期限从短到长排序*/ 12 else 13 return a.descore>b.descore; /*如果期限相同,按被扣分数从高到低来排序*/ 14 } 15 16 int main() 17 { 18 int t,n,temp; 19 while(cin>>t) 20 { 21 while(t--) 22 { 23 scanf("%d",&n); /*作业的数量*/ 24 for(int i = 0; i < n; i++) /*读取作业的期限*/ 25 scanf("%d",&homework[i].dayline); 26 for(int i = 0; i < n; i++) /*读取未完成作业被扣除的分数*/ 27 { 28 scanf("%d",&homework[i].descore); 29 homework[i].flag = true; /*标记可完成*/ 30 } 31 32 sort(homework,homework+n,cmp); 33 int ans = 0; /*统计被扣除的分数*/ 34 int day = 1; /*截止日期*/ 35 for(int i = 0; i < n; i++) 36 { 37 if(homework[i].dayline >= day) 38 day++; 39 else{ 40 int p = homework[i].descore; 41 int temp = i; 42 for(int j =0; j < i; j++) /*往前面搜索,查找是否有被扣分数较小的*/ 43 if(homework[j].descore < p && homework[j].flag) /*被扣分数较少 并且是可完成的(用来完成被扣分较大的作业)*/ 44 { 45 p = homework[j].descore; 46 temp = j; 47 } 48 49 ans += p; 50 homework[temp].flag = false; /*标记不可完成*/ 51 } 52 53 54 } 55 cout<<ans<<endl; 56 } 57 } 58 return 0; 59 }
转载于:https://www.cnblogs.com/jj81/p/7381879.html
ACM Doing Homework again相关推荐
- 网内计算:可编程数据平面和技术特定应用综述
网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...
- 【ACM】杭电OJ 1789(Doing Homework again)
http://acm.hdu.edu.cn/showproblem.php?pid=1789 cmp函数: 先按扣分由多到少进行排序,然后如果遇到扣分一样的,则先做时间少的. vis数组: 最要的事, ...
- 师兄帮帮忙(A Typical Homework,ACM)
#include <cstdio> #include <iostream> #include <cstring> using namespace std; cons ...
- HDU 5298 Solid Geometry Homework 暴力
Solid Geometry Homework 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5298 Description Yellowstar ...
- HUST 1555 A Math Homework
1555 - A Math Homework 时间限制:1秒 内存限制:128兆 338 次提交 131 次通过 题目描述 QKL is a poor and busy guy, and he was ...
- HDU 1789 Doing Homework again(馋)
意甲冠军 参加大ACM竞争是非常回落乔布斯 每一个工作都有截止日期 未完成必要的期限结束的期限内扣除相应的积分 求点扣除的最低数量 把全部作业按扣分大小从大到小排序 然后就贪阿 能完毕 ...
- acm题库c语言,C语言acm竞赛习题集锦.doc
C语言acm竞赛习题集锦.doc 杭州电子科技大学 acm 习题精选 第 1 页 共 21 页 目录 1. 数塔问题 2 2. 并查集类问题 4 3. 递推类问题 9 4. 动态规划系列 10 5. ...
- 【DP专辑】ACM动态规划总结
转载请注明出处,谢谢. http://blog.csdn.net/cc_again?viewmode=list ---------- Accagain 2014年5月15日 ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
最新文章
- amh支持java吗_跟我学Android之三 常用视图
- java写 IP十进制转变_java实现ip地址与十进制数相互转换
- 理解MYSQL MVCC 实现机制
- RedHat AS4 配置Yum
- MongoDB 权限认证
- .NET的一点历史故事:误入歧途,越陷越深
- 计算机英语一级考试试题,全国计算机一级考试试题及答案
- Android OpenGL Cannot create GL program: 0 GL error: 1282
- Webpack入门教程二
- 学会git bash不求人
- hdu-5992 Finding Hotels(kd-tree)
- Android黑名单自动挂断电话
- cadsee plus看图纸 7.2.0.1
- 棋盘中正方形,长方形个数
- python实现自定义搜索内容的天眼查爬虫
- 程序员的修炼之道 从小工到小工
- 【CityHunter】游戏进度总控,及需求设计
- windows下使用curl命令
- mysql json 数组转行
- flutter doctor --android-licenses
热门文章
- 【CI/CD2】actions,daocloud
- 【Linux】一步一步学Linux——cat/tac命令(38)
- [Qt教程] 第11篇 2D绘图(一)绘制简单图形
- C代码+汇编 C的 函数汇编学习分析 rep stos dword ptr [edi]
- 交换两个变量ab的值PHP,由[交换两个变量的值问题]理解程序的时空复杂度
- 记录vmware的bug failed to install hcmon deriver
- 使用fastcoll进行md5碰撞,两个不同的文件md5值一样。
- springboot使用redisTemplate 报错:APP FAILED TO START Field template in required a single bean redis工具类
- Pixhawk之姿态控制篇
- pixhawk的姿态控制算法解读