牛客小白月賽2:文
阿新 • • 發佈:2019-02-18
連結:https://www.nowcoder.com/acm/contest/86/G
來源:牛客網
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
誰拿到了最高分,以及最高分的分數(分數為 分制)。Sεlιнα 喜歡優美的名字,所以如果有同樣的分數,請告訴她其中字典序最小的選手名字。 不要偷懶哦!要是你告訴了 Sεlιнα 錯誤的答案,她會很生氣的! 中。 表示該參賽者未作答此題。
來源:牛客網
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
Sεlιнα(Selina) 開始了新一輪的男友海選。她要求她的男友要德智體美勞樣樣都全。首先進行的是文化知識競賽。 Sεlιнα 精心準備了一套選擇題,每個選擇題有且只有一個正確答案。她邀請參賽男友們來答題,並回收了試卷準備批改。可是她卻犯了愁。她不知道怎麼快速地批改完這些試卷。她知道你是計算機大佬,就跑來請你寫個程式幫她批改試卷。 Sεlιнα 會給你一份標準答案,再給你每個參賽男友的答卷。答卷中的每道題可能有一個答案, 也可能沒有作答。你要做的是最後告訴 Sεlιнα輸入描述:
第一行兩個整數 ,表示有 道選擇題和 個參賽男友。第二行一個長為 的字串,表示標準答案。其中第 個字母表示第 個選擇題的答案。保證所有字母在 中。接下去 行,每兩行表示一個參賽男友: · 第一行一個字串,表示參賽者姓名,保證姓名僅由大小寫字母組成; · 第二行一個長為 的字串,表示該參賽者的答案。其中第 個字母表示該參賽者對於第 個選擇題的答案。保證所有字母在輸出描述:
輸出共兩行,第一行是最高分的參賽男友姓名,第二行為其分數。分數為 分制,保留兩位小數。若有多人同分,輸出字典序最小的姓名。 示例1輸入
5 3 ADBBC spiderman ADBAC niconico BDXBC ekstieks ACBBC
輸出
ekstieks 80.00
備註
姓名長度
#include<stdio.h> #include<string.h> #define N 100020 struct dete{ char name [50]; char ans[N]; double s; }a[120],max; char answer[N]; int main() { int n,m,i,j; max.s=0; scanf("%d%d",&n,&m); scanf("%s",answer); for(i=0;i<m;i++) { a[i].s=0; scanf("%s%s",a[i].name,a[i].ans); for(j=0;j<n;j++) if(a[i].ans[j]==answer[j]) a[i].s++; if(i==0) max=a[i]; else if(a[i].s>max.s) max=a[i]; else if(a[i].s==max.s&&strcmp(max.name,a[i].name)>=0) max=a[i]; } printf("%s\n%.2lf\n",max.name,max.s/n*100); return 0; }