首先,把作业按照紧急程度排序,截止时间越近的作业越紧急,如果截止时间相同,扣分越多的作业越紧急。然后设一个计时器time,表示当前是第几天。如果time小于等于homework[i]的截止时间,则做这个作业,并且time++。如果time大于homework[i]的截止时间,则不做这个作业并且扣分。

#include <iostream>
using namespace std;struct Homework
{int no;     //作业的序号int deadline;       //作业的截止日期int deduction;      //逾期的扣分
};void sort(Homework homework[], int n)   //使用直接选择排序对作业按紧急程度排序
{int most_emergent;          //表示最紧急的作业的序号Homework tmp;for (int i = 0; i < n - 1; i++){most_emergent = i;for (int j = i + 1; j < n; j++){if (homework[j].deadline < homework[most_emergent].deadline)    //截止时间越近的作业越紧急most_emergent = j;else if (homework[j].deadline == homework[most_emergent].deadline && homework[j].deduction > homework[most_emergent].deduction) //截止时间相同时,扣分越多的作业越紧急most_emergent = j;}tmp = homework[i];homework[i] = homework[most_emergent];homework[most_emergent] = tmp;}
}int main(void)
{int n, time, deducted_point;cin >> n;while (n != 0){Homework* homework = new Homework[n];for (int i = 0; i < n; i++){homework[i].no = i + 1;cin >> homework[i].deadline;}for (int i = 0; i < n; i++)cin >> homework[i].deduction;sort(homework, n);time = 1;       //表示当前是第几天deducted_point = 0;     //目前已扣分数for (int i = 0; i < n; i++){if (time <= homework[i].deadline)       //如果当前时间没超过homework[i]的截止时间,则做这个作业{cout << homework[i].no << ' ';time++;}else                                    //否则就扣分deducted_point += homework[i].deduction;}cout << endl;cout << deducted_point << endl;delete[] homework;cin >> n;}return 0;
}

运行结果

小v上学,老师布置了n个作业相关推荐

  1. 自定义体温折线图html,科学老师布置体温折线图作业,家长打算交“备孕表”代替...

    暑假过半,各位小主的作业完成进度如何?记者听说,有爸妈已经开始为此焦虑,也有老师正在为此郁闷. 孙老师是杭州一所知名公办小学的科学老师,今年教三年级.因为三年级下学期有个单元讲温度计,所以她布置的暑假 ...

  2. 运用arcGIS做程老师布置的CAD描图作业,不到十分钟完成百分之九十五的工作量!!!

    写在前面 进来的应该都是上程效军老师的数字地形测量课的同学,相信描图作业做得不是很轻松吧(CAD大神略过),本人也是辛辛苦苦描完图后,才学到的arcscan,在创新项目队友的提醒和指导下,完成了快速描 ...

  3. 心音数据库_小V云端数据库 | 2020.9.14—2020.9.18

    桂花的芬芳 在雨后空气中弥散开来 似为湿润的情绪 赠予了一丝甜蜜 小V云端数据库 2020.9.14-2020.9.18 资讯情报关键词 健康.示范.安全 V宝体检,助力成长 2020年9月14日上午 ...

  4. D - 小Y上学记——要迟到了!

    D - 小Y上学记--要迟到了! Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  5. mediarecorder 录制的文件无法拖动进度条_录制课程不用愁,小V手把手教学

    学中文 找老师 上viivbook众所周知录播课不仅可以进行分销售卖帮助老师实现知识变现也是老师进行自我宣传的通道但在很多老师在录制这一关就被难倒了什么录制软件简单易操作?摄像头展示在什么位置?能不能 ...

  6. 小V的母亲节礼物揭秘,Python Turtle海龟绘图

    ​一份问卷调查,期待听到您的声音 母亲节,小V同学送给他妈妈的礼物成了全场最秀!鼓掌 小V同学的妈妈收到了礼物,直言"理工小男生制造的母亲节小浪漫直击老母亲内心最柔软的部分". 母 ...

  7. CCF201812-1 小明上学

    试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为 ...

  8. CCF201812-1 小明上学(100分)【序列处理】

    题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿 ...

  9. PHP小V脸蛋白线,HPH小v脸蛋白线好不好用?HPH小v脸蛋白线怎么用

    不用去美容院脸也可以变紧的方法,那么你可以选择HPH蛋白线.下面小编为大家介绍HPH小v脸蛋白线好不好用?HPH小v脸蛋白线怎么用 HPH小v脸蛋白线好不好用 HPH这个蛋白线主要是提拉紧致的作用,是 ...

最新文章

  1. h3c l2tp ***配置
  2. 使用OpenCV搭建违章停车检测系统
  3. 编译osdrv的uboot 内核 文件系统(Hi3516a)
  4. 设计模式-组合+策略模式
  5. 手机数据抓包入门教程
  6. neo4j springboot 日志_Springboot2.3集成neo4j的过程和踩坑记
  7. Linux vim命令模式、末行模式、编辑模式相互切换
  8. python爬去朋友圈_python爬虫24 | 搞事情了,用 Appium 爬取你的微信朋友圈。
  9. python bytes是什么类型,python中的字节串类型(bytes)
  10. 【C#复习总结】细说表达式树
  11. Texar安装、Textgenrnn安装
  12. 关于ie6常见浏览器兼容问题
  13. 惠普重新定义IT基础设施
  14. 【蓝桥杯省赛真题24】Scratch哪吒飞行 少儿编程scratch蓝桥杯省赛真题讲解
  15. CSS Cascading Style Sheets 层叠样式表:CSS了解 (一)
  16. qemu-system-x86_64: warning: host doesn‘t support requested feature: CPUID.80000001H:ECX.svm [bit 2]
  17. RabbitMQ的Topics 通配符模式(Topic)
  18. python numpy.ndarray中的数据转为int型
  19. php任意文件删除漏洞,phpyun二次任意文件删除漏洞
  20. < CSS技巧 之 弹性布局( Flex布局 ) - 实例篇 >

热门文章

  1. 强大的视频解码器Potplayer
  2. 鲁班修图ps扩展面板永久版
  3. 晁盖为何不传位给宋江
  4. 奥本未来:3D展示与AR/VR“魔镜”,给新消费带来新体验 | 北京软件新派力量系列报道...
  5. 老码识途 switch机制
  6. map与java对象相互转换
  7. 围棋源代码android,围棋 深度学习 源代码
  8. IOS常用的系统文件目录介绍
  9. 首席新媒体黎想教程:如何构建策划活动,所需遵循的原则!
  10. RBAC:基于角色的权限访问控制