[编程题]文
  • 热度指数: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 展开全文
头像 chenlan114
发表于 2026-02-08 13:16:00
#include<bits/stdc++.h> using namespace std; using ll=long long; struct B{ string name; double score=0; }; int main(){ ios::sync_with 展开全文
头像 BeauWill
发表于 2026-02-08 15:18:29
Modern Cpp #include <iostream> #include <vector> #include <string> #include <algorithm> #include <iomanip> int main() { 展开全文
头像 lotusor
发表于 2026-02-08 17:50:51
n,m = map(int,input().split()) right = input() out = [] ans = -1 core = 100/n for _ in range(m): name = input() check = input() cnt = 0 展开全文
头像 为芙宁娜献出心脏
发表于 2026-02-08 17:56:26
就是很普通的模拟,直接暴力STL就好了 详细代码如下 // BggBB wZPXsv:. UBgQGv // BgEQQ ,:sJ. .,. ::, rBORZJ 展开全文
头像 闲虞
发表于 2026-02-08 19:13:23
#include <stdio.h> #include<string.h> struct BF { char name[51]; double score ; }; int main() { int n,m,count,max=0; char 展开全文
头像 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 展开全文

问题信息

难度:
4条回答 47浏览

热门推荐

通过挑战的用户

查看代码