B3857 [语言月赛 202309] 打水赛打的

题目描述

在 H 学校,C 考试一直被用来衡量学生编程、数据结构和算法能力的重要标准。C 考试满分 500500 分,一名学生只有取得不低于 200200 分的成绩才能毕业,我们称这样的学生为达到毕业要求的学生,C 考试未取得不低于 200200 分成绩的学生为达不到毕业要求的学生

然而,随着内卷的激烈化,R 比赛走进了同学们的视野。由于该比赛组织混乱、试题难度低、获奖比例高,被同学们戏称为一等奖点击就送,成为公认的水赛。

在 2023 年的一等奖获奖名单中,同学们惊讶的发现,大量达不到毕业要求的学生竟然可以在 R 比赛中获得一等奖,这无疑是非常讽刺的一件事。

现在,给出 依次编号为 1∼N1∼N 的 H 学校的 NN 名同学的 C 考试成绩,和 R 比赛一等奖获奖名单。获奖名单中可能有超过 NN 的编号,这是由于其他一些学校也参加了 R 比赛,只有 1∼N1∼N 编号的学生属于 H 学校。

请你统计,有多少 H 学校的一等奖获得者,是达不到毕业要求的学生

输入格式

输入共三行。

输入的第一行为两个正整数整数 N,MN,M,依次代表 H 学校的学生数目和 R 比赛一等奖获奖名单的人数。

输入的第二行为 NN 个非负整数,第 ii 个数 SiSi​ 代表编号为 ii 的学生 C 考试成绩。

输入的第三行为 MM 个正整数,第 ii 个数 WiWi​ 代表一名获奖者。

当且仅当 1≤Wi≤N1≤Wi​≤N 时,获奖者 WiWi​ 属于 H 学校。

输出格式

输出一行一个整数,表示 H 学校的一等奖获得者中,有多少是未达到毕业要求的学生

输入输出样例

输入 #1

5 8
200 0 199 200 500
3 1 2 6 8 10 11 12

输出 #1

2
#include <bits/stdc++.h>
using namespace std;
int main() {
	int n, m, sum = 0;
	long long c[99999], s[99999];
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> c[i]; // H学校的学生数目   编号为1 - n
	}
	for (int i = 1; i <= m; i++) {
		cin >> s[i]; // 获奖者编号
		if (s[i] <= n && c[ s[i] ] < 200) { //如果获奖者编号小于n( 小于n就是H学校的学生 ),并且成绩小于200
			sum++;
		}
	}
	cout << sum;
	return 0;
}

 

这是一个简单的计算得分问题,可以根据题目描述中的规则直接编写程序。以下是基于Java语言的一个解决方案: ### Java 示例代码 ```java import java.util.Scanner; public class KobeScoreCalculator { public static void main(String[] args) { // 创建 Scanner 对象用于读取标准输入 Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { // 检查是否有更多的输入 int a = scanner.nextInt(); // 输入3分球的数量 int b = scanner.nextInt(); // 输入2分球的数量 int c = scanner.nextInt(); // 输入罚球进球数量 // 根据公式计算总分:总分 = 3 * a + 2 * b + c int totalScore = 3 * a + 2 * b + c; // 打印出结果 System.out.println(totalScore); } // 关闭资源 scanner.close(); } } ``` --- ### 详细解释: 1. **导入Scanner包** : `import java.util.Scanner;` 引入该库帮助从控制台接收输入。 2. **创建实例**: 使用`new Scanner(System.in)`生成一个新的Scanner对象来捕捉来自命令行的标准输入流。 3. **循环检查输入**: 利用while循环配合`hasNextInt()`方法判断是否还有后续整型数据待处理。 4. **获取每一项的值**: 分别通过三次调用`nextInt()`函数获得三个非负整数代表三种类型的进球数目:a(三分球),b(二分球)以及c(罚球命中次数). 5. **计算总分**: 应用给定计分法则得出单次比成绩即三乘以a加上两倍于b再加上c本身所得数值。 6. **输出结果**: 调用`System.out.println(totalScore);`将最终累积分展示给用户查看。 7. **关闭Scanner对象**: 结束所有操作之后记得清理占用系统资源的习惯性步骤—关闭打开过的文件句柄等同理此处也要关闭scanner连接。 此段代码实现了按照指定规则自动统计篮球运动员在一场比里凭借各类进球形式累计下来的总体得分情况的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值