[编程题]文
  • 热度指数:530 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
Sεlιнα(Selina) 开始了新一轮的男友海选。她要求她的男友要德智体美劳样样都全。首先进行的是文化知识竞赛。
Sεlιнα 精心准备了一套选择题,每个选择题有且只有一个正确答案。她邀请参赛男友们来答题,并回收了试卷准备批改。可是她却犯了愁。她不知道怎么快速地批改完这些试卷。她知道你是计算机大佬,就跑来请你写个程序帮她批改试卷。
Sεlιнα 会给你一份标准答案,再给你每个参赛男友的答卷。答卷中的每道题可能有一个答案, 也可能没有作答。你要做的是最后告诉 Sεlιнα 谁拿到了最高分,以及最高分的分数(分数为 分制)。Sεlιнα 喜欢优美的名字,所以如果有同样的分数,请告诉她其中字典序最小的选手名字。
不要偷懒哦!要是你告诉了 Sεlιнα 错误的答案,她会很生气的!

输入描述:
第一行两个整数 ,表示有 道选择题和 个参赛男友。第二行一个长为 的字符串,表示标准答案。其中第 个字母表示第 个选择题的答案。保证所有字母在  中。接下去 行,每两行表示一个参赛男友: 
 · 第一行一个字符串,表示参赛者姓名,保证姓名仅由大小写字母组成;
 · 第二行一个长为 的字符串,表示该参赛者的答案。其中第 个字母表示该参赛者对于第 个选择题的答案。保证所有字母在 中。 表示该参赛者未作答此题。


输出描述:
输出共两行,第一行是最高分的参赛男友姓名,第二行为其分数。
分数为 分制,保留两位小数。若有多人同分,输出字典序最小的姓名。 
示例1

输入

5 3
ADBBC
spiderman
ADBAC
niconico
BDXBC
ekstieks
ACBBC

输出

ekstieks
80.00

备注:


  姓名长度  
头像 小琢卷不动
发表于 2021-11-23 14:52:27
考察结构体排序,给每个选手记一个结构体,存放他的答案、得分、名字,在排序的时候自定义一个 < 运算,如果分数相同按照姓名的字典序排序即可。 对于计算分数,我们可以考虑把 100100100 分分成 nnn 份,每答对一道题就分配 100n\dfrac{100}{n}n100​ 分给这位同学即可 展开全文
头像 postpone
发表于 2026-02-08 05:05:30
模拟题。我们将答对题目数量的相反数,作为第一关键字,将选手名字的字典序作为第二关键字,取最小的即可。 #include <iomanip> #include <iostream> #include <limits> using namespace std; in 展开全文
头像 Erua
发表于 2026-02-08 04:32:01
#include <bits/stdc++.h> using namespace std; using ll=long long; #define endl '\n' using vi=vector<int>; using vll=vector<ll>; usin 展开全文
头像 YunBaichuan
发表于 2026-02-08 09:57:28
思路:模拟题。根据题意进行模拟,最终输出结果即可 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): return input() def II( 展开全文
头像 ccl_aurora
发表于 2026-02-08 10:41:11
#include <iostream> #include<vector> #include<algorithm> #include<iomanip> using namespace std; class man{ public: string 展开全文

问题信息

难度:
3条回答 27浏览

热门推荐

通过挑战的用户

查看代码