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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。