L1 - 7 『谁在说谎』
分数 20
全屏浏览题目
切换布局
作者 JMU_ACM
单位 集美大学
第一行,输入正整数n和m,其含义同题意中的。
第二行,包含m个整数,代表贝贝前m次考试的真实成绩。
接下来的n行,对于第i行给定一个字符串S
和m个整数,代表编号为i的人姓名为S
,前m次考试的成绩。
最后一行,给定n+1个整数,分别为a0到an,其中a0代表贝贝本次考试的真实成绩,ai代表编号为i的人报出的本次考试成绩。
输出可能说谎的人的姓名,每个姓名占一行。如果没有人可能说谎则输出Yeah! Nobody!
。
4 3
68 68 68
WDW 100 100 99
HX 99 100 100
LBN 68 68 68
JXJ 100 100 99
68 67 65 68 60
HX
JXJ
WDW
对于本题100%的数据,1≤n≤20,1≤m≤105,S的长度在[1,5]之间,且仅由英文字母组成,且保证n个人中没有重复名字。
因为大家可能会参加不同的满分制的比赛与考试,故题目中所有的单个成绩的范围都在[0,105]之间。特别的,考虑到贝贝是个菜狗,分数可能因为自身太菜被改卷老师扣成负数,故贝贝的单个成绩范围在[−105,105].
题目虽然很长,但是看完题目,我们提取到的重要信息就是要知道每个人的名字,和他们的之前考试的平均成绩,还有当前考试的成绩 那么非常显然就需要用到结构体,来记录每个人的信息:
typedef struct node{string name;double oldgrade;double newgrade;
}stu;
其中贝贝的成绩可以单独处理,不需要放入结构体当中
记录其他人的成绩:
for(int i = 0;i<n;i++){cin>>tempname;temp = 0;for(int j = 0;j<m;j++){cin>>x;temp+=x;}stus[i].name = tempname;stus[i].oldgrade = (1.0*temp)/m;}
然后读取贝贝的成绩,和其他人的成绩
int jay;//贝贝这次考试成绩cin>>jay;for(int i = 0;i<m;i++) {cin>>stus[i].newgrade;}
然后顶一个一个string的vector数组,来存放满足题目需要条件的人
vector<string> re;for(int i = 0;i<n;i++){if(stus[i].oldgrade>=BGrade&&stus[i].newgrade<jay)re.push_back(stus[i].name);}
因为题目要求需要升序,所以我们可以直接使用vectoer自带的sort函数,sort默认是升序,所以直接用就可以,然后输出就可以:
sort(re.begin(),re.end());pty()) cout<<"Yeah! Nobody!";for(int i = 0;i<re.size();i++)cout<<re[i]<<endl;
整体代码实现:
#include<bits/stdc++.h>
using namespace std;
typedef struct node{string name;double oldgrade;double newgrade;
}stu;
int main()
{int n,m;cin>>n>>m;string tempname;double BGrade = 0,temp = 0;stu stus[n];int x;for(int i = 0;i<m;i++){cin>>x;BGrade+=x;}BGrade = 1.0*BGrade/m;for(int i = 0;i<n;i++){cin>>tempname;temp = 0;for(int j = 0;j<m;j++){cin>>x;temp+=x;}stus[i].name = tempname;stus[i].oldgrade = (1.0*temp)/m;}int jay;cin>>jay;for(int i = 0;i<m;i++) {cin>>stus[i].newgrade;}vector<string> re;for(int i = 0;i<n;i++){if(stus[i].oldgrade>=BGrade&&stus[i].newgrade<jay)re.push_back(stus[i].name);}sort(re.begin(),re.end());pty()) cout<<"Yeah! Nobody!";for(int i = 0;i<re.size();i++)cout<<re[i]<<endl;return 0;
}
本文发布于:2024-02-04 13:02:22,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170707855055807.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |