文章目录

  • 题目一:修改成绩
  • 题目二:杀手

题目一:修改成绩

题目描述:

  华老师的 n 个学生参加了一次模拟测验,考出来的分数很糟糕,但是华老师可以将成绩修改为 [1,100]中的任意值,所有它想知道,如果要使用所有人的成绩的平均分不少于 x 分,至少要改动多少个人的分数?

输入描述:

  第一行一个数 T,共 T 组数据(T<=10)
  接下来对于每组数据:
  第一行两个整数 n 和 x。(1 <= n <= 1000,0 <= x <= 100)
  第二行 n 个整数,第 i 个数 AiA_iAi​ 表示第 i 个学生的成绩(0 <= AiA_iAi​ <= 100)

输出描述:

  共T行,每行一个整数,代表最少的人数。

示例输入:

2
5 60
59 20 30 90 100
5 60
59 20 10 10 100

示例输出:

1
2

Hint:

  对于第一组数据,将59改为60即可

题目分析:

  所有人的分数加起来平均后不够老师要求的平均分,这个时候老师可以修改分数,且求的是最少改动,则我们可以这样,先排序,每次给最少分数的人直接加到100,这样的话在仅改动一次的情况下对总分数的增长最大。
  此时再次统计总分与达标线比较。合格则退出,不合格就再算分数倒数第二少的。依次类推下去。

代码实现:

#include<iostream>
#include<algorithm>
using namespace std;int main()
{int t ;                         //分组数目 scanf("%d",&t);int *size = new int[t];         //定义t大小的一维数组来每个分组的学生数   int *average = new int[t];      //每组的平均成绩 int **score = new int*[t];      //每个人的成绩,存在一个二位数组中,每一行为一个组的成绩 for(int i = 0;i<t;i++){score[i] = new int [1000];     //动态申请二位数组 }int *temp = new int[t];         //达标所需总分数 int *count = new int[t];        //统计需要的人数for(int i=0;i<t;i++){scanf("%d %d",&size[i],&average[i]);for(int k=0;k<size[i];k++){scanf("%d",&score[i][k]);}}//sort排序 ,将成绩数组每一行都从小到大排列 for(int i =0;i<t;i++){sort(score[i],score[i]+size[i]) ;}for(int i=0;i<t;i++){count[i] = 0;int temp1=0;                   //统计每组所的分数的累加值 temp[i] = size[i]*average[i];  for(int k=0;k<size[i];k++){temp1 += score[i][k];}while(temp1<temp[i]){int j = 0;temp1 += (100-score[i][j++]);++count[i];}printf("%d\n",count[i]);}return 0;
}
    /*int temp[t]; 第17行 处申请数组时不可以采用前面的方式,这是不合法的,虽然有些编译器是可以通过,比如 DEVC++,因为函数栈的要求,就是在函数运行前,分配好所有变量的空间,t是不定的,所以不能再运行前,就分配好空间。应采用动态申请的方式,在执行的时候,才分配空间,这是合法的方式。或者将变量定义为const常量 */

题目二:杀手

题目描述:

  有n个杀手排成一行,每个杀手都有一个不同的编号(编号为 1-n ),在每个夜晚,杀手都会行动,如果某个杀手编号大于他右边的杀手的编号,他就会杀死他右边的杀手,杀手是的行动是瞬间的,因此一个人可能某一个夜晚既杀死了别人又被别人杀死,例如 3,2,1 这个顺序,在第一个夜晚 2 会杀死 1,同时 3 也会杀死 2。

  显而易见,一段时间之后,就不会有人杀或被杀,平安夜也就到来了,请问在平安夜之前有多少个夜晚。

输入描述:

  输入第一行是一个整数 n(1≤n≤100000),表示杀手的数量。
  接下来一行有 n 个数,是一个 1-n 的全排列。

输出描述:

  输出包含一个整数,表示平安夜之前经历了多少个夜晚。

示例 1 输入:

10
10 9 7 8 6 5 3 4 2 1

示例 1 输出:

2

示例 2 输入:

6
1 2 3 4 5 6

示例 2 输出:

0

样例解释:

  样例1中杀手的变化为 [10 9 7 8 6 5 3 4 2 1] -> [10 8 4] -> [10],故答案为2。

代码实现:

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int cnt=0;
vector<int> a;
int x;
int main()
{int n,x;cin>>n;for(int i=1;i<=n;i++){cin>>x;a.push_back(x);}bool flag=true;int cnt=0;while(flag){vector<int> next;next.push_back(a[0]);for(int i=1;i<a.size();i++){if(a[i]>a[i-1]){next.push_back(a[i]);}}if(next.size()<a.size()){cnt++;a=next;}else flag=false;}cout<<cnt;return 0;
}

【每日一题 】修改成绩 、杀手问题相关推荐

  1. 安卓 每日一题 2019年9-12月问题及答案

    最新 文章连接,本文不再同步 安卓 每日一题 2019年9-12月问题及答案 文章目录 安卓 每日一题 2019年9-12月问题及答案 安卓2019年09月每日一题 安卓2019年10月每日一题 安卓 ...

  2. Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #698 (Div. 2)(A ~ F)6题全,超 ...

  3. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  4. JS每日一题:Vue中的diff算法?

    20190125 Vue中的diff算法? 概念: diff算法是一种优化手段,将前后两个模块进行差异对比,修补(更新)差异的过程叫做patch(打补丁) 为什么vue,react这些框架中都会有di ...

  5. 【Java每日一题】20161219

    为什么80%的码农都做不了架构师?>>>    package Dec2016; import java.util.Arrays; public class Ques1219 { p ...

  6. 每日一题20180330-Linux

    一.问题 1.1 统计/var/log/下所有文件个数 1.2 查找出/var/log目录下面修改时间是7天以前,大小在50k到2M之间,并以.log结尾的文件把这些文件复制到/data目录中 1.3 ...

  7. 老男孩教育每日一题-2017-04-25:怎样产生一个子shell?

    1.在父shell中执行一个shell脚本,可以产生一个子shell 测试环境: 定义一个变量并输出 [dongzhi@iZ23eyxc0p2Z ~]$ STR=123 [dongzhi@iZ23ey ...

  8. python每日一题今天的答案_python每日一题总结1

    每日一题1 1. 写出python中import 导入库的几种常见写法 举例:import math from math imourt sqrt 每日一题2 1. print 1000L  的结果 答 ...

  9. 易错丨Oracle 每日一题系列合集

    在墨天轮平台有个[数据库每日一题]栏目:www.modb.pro/test(复制到浏览器或者点击"阅读原文"可直达,每日一题),均是由数据库行业的专家亲自出题,墨天轮审核后发布的一 ...

最新文章

  1. 谷歌浏览器输入框背景颜色变黄的解决方案
  2. 来玩Play框架05 数据库
  3. c++标准库获取随机数
  4. java lambda 变量_为什么Java中lambda表达式不能改变外部变量的值,也不能定义自己的同名的本地变量呢?...
  5. Python flask 特殊装饰器 @app.before_request 和 @app.after_request 以及@app.errorhandler介绍
  6. Windows下codeblocks的安装与配置
  7. 贵州大学 c语言,贵州大学C语言 试卷.doc
  8. 环形博弈 HDU - 3951
  9. 支撑位和压力位怎么看是什么意思?
  10. 物联网卡在建筑行业的应用结果
  11. rk3399_android7.1调试USB接口的TP记录
  12. SAP 43亿美元收购Ariba 拓展云计算市场
  13. MySQL(16)-----字符串函数
  14. ztree 右键菜单功能
  15. 华氏温度计算机语言,python中将华氏温度转换为摄氏温度的示例
  16. 常见十大算法 冒泡算法
  17. win10关机后cpu风扇还在转_win10电脑关机后风扇还在一直转怎么修复
  18. 操作系统-课堂笔记-磁盘调度(南航)
  19. iOS 获取设备类型和系统信息
  20. 查看Android版本支持哪些蓝牙协议

热门文章

  1. 【C语言】对5个国家的名称进行排序详细解析
  2. c#中用声音提示报警 .
  3. 从上海回杭州三年,我的生活发生了翻天覆地的变化
  4. DBus的理解与应用
  5. 最小二乘法,简明公式整理,数学证明,matlab程序(自写代码、lsqcurvefit函数、fminsearch函数)
  6. 真太极之只言片语 (续)
  7. Axure中动态面板中的“推动/拉动原件”
  8. OpenSSL 拒绝服务、证书绕过漏洞通告
  9. 游戏玩家的饕餮盛宴:“天生BUFF”竞力狂飙
  10. 叉包舍 - PPPoE之常见拨号错误代码及处理