B3763 [语言月赛202305] 团体程序设计天梯赛 题解
2023-12-13 06:01:16
题目描述
七海参加了天梯赛。天梯赛的赛制较为独特,以下是天梯赛规则的节选。
竞赛题目分?33?个梯级:
- 基础级设 8?道题,其中?5?分、10?分、15?分、20?分的题各?2?道,满分为?100?分;
- 进阶级设?4?道题,每道题?25?分,满分为?1100?分;
- 登顶级设?3?道题,每道题?30?分,满分为?90?分。
参赛队员的个人总分由其每题得分构成。但只有当该队员的基础题总分超过?80?分时,其进阶部分的题目分数才被判为对其个人有效;其进阶题总分超过?40?分时,其登顶部分的题目分数才被判为对其个人有效。
请注意,这里的超过,指大于等于。
现在,依照基础级-进阶级-登顶级的顺序给出某选手共?15?题的分数,请你计算该名选手的有效得分。
输入格式
输入共三行。
输入的第一行为?8?个整数,代表该选手基础级试题的得分。
输入的第二行为?4?个整数,代表该选手进阶级试题的得分。
输入的第三行为?3?个整数,代表该选手登顶级试题的得分。
输出格式
输出一行一个整数,代表该选手的有效得分。
输入输出样例
输入 #1
5 5 10 10 15 15 20 20
25 25 16 25
0 1 0
输出 #1
192
输入 #2
0 0 0 0 0 0 1 1
25 25 25 25
30 30 30
输出 #2
2
说明/提示
对于?100%100%?的测试数据,输入的数据均为整数且符合题目实际情景。
分析
先将每一级别的分数分别储存在ans1,ans2,ans3中
按照题目要求判断
if(ans1>=80){//该队员的基础题总分是否超过80
if(ans2>=40){//若超过则判断 进阶题总分是否超过40
//若超过,则所有级别成绩均有效
cout<<ans1+ans2+ans3<<endl;
}else{
//若未超过,则只有基础级,进阶级分数有效
cout<<ans1+ans2<<endl;
}
}else{
//基础级未超过80,则只有基础级分数有效
cout<<ans1<<endl;
}
代码
#include<bits/stdc++.h>
using namespace std;
int a[10],b[10],c[10],ans1,ans2,ans3;
int main(){
for(int i=1;i<=8;i++){//按顺序输入,并储存不同级别分数
cin>>a[i];
ans1+=a[i];
}
for(int i=1;i<=4;i++){
cin>>b[i];
ans2+=b[i];
}
for(int i=1;i<=3;i++){
cin>>c[i];
ans3+=c[i];
}
//判断
if(ans1>=80){//该队员的基础题总分是否超过80
if(ans2>=40){//若超过则判断 进阶题总分是否超过40
//若超过,则所有级别成绩均有效
cout<<ans1+ans2+ans3<<endl;
}else{
//若未超过,则只有基础级,进阶级分数有效
cout<<ans1+ans2<<endl;
}
}else{
//基础级未超过80,则只有基础级分数有效
cout<<ans1<<endl;
}
return 0;
}
文章来源:https://blog.csdn.net/eternallt/article/details/134946681
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!