字符串处理我的噩梦。
看dalao才写出来的,不过写的太久了,这个时长考试黄花菜都凉了。
#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
#define ll long long
string ans[110];//答案 个数
int score[110];//正确得分
int person[110];//每个人的得分情况
int main(){
int n,m;
cin>>n>>m;//人数 题目个数
for(int i=0;i<m;i++){
int sc,chos,count;
cin>>sc>>chos>>count;
for(int j=0;j<count;j++){
char xz;
cin>>xz;
ans[i]+=xz;
}
score[i]=sc;
}
int cuowu[110];
memset(cuowu,0,sizeof(cuowu));
int flag = 1;
for(int i=0;i<n;i++){//人数
int sc=0;//人的得分
scanf("\n");
for(int j=0;j<m;j++){//几道题
if(j>0) scanf(" ");
int cnt;
scanf("(%d",&cnt);
string s="";
for(int k=0;k<cnt;k++){
char c;
scanf(" %c",&c);
s+=c;
}
if(s==ans[j]) sc+=score[j];
else {
cuowu[j]++;//错误增加
flag=0;
}
scanf(")");
}
cout << sc << '\n';
}
if(flag) {
cout << "Too simple" <<'\n';
return 0;
}
int index=0,cishu=cuowu[0];
set<int> st;
st.insert(index);
for(int i=1;i<m;i++){
if(cuowu[i]>cishu){
st.clear();
st.insert(i);
cishu=cuowu[i];
}else if(cuowu[i]==cishu){
st.insert(i);
}
}
cout << cishu << " ";
set<int>::iterator it;
for(it=st.begin();it!=st.end();){
cout << *it + 1;
if(++it!=st.end()){
cout << " ";
}
}
return 0;
}
大佬代码:
#include<iostream>
using namespace std;
int score[111] = {0},grade[1010] = {0},wrongCnt[111] = {0};
string Right[111];
int main() {
int n,m,total;
scanf("%d%d",&n,&m);
for(int i = 1; i <= m; ++i) {
scanf("%d %d ",&score[i],&total);
getline(cin,Right[i]);
}
for(int i = 1; i <= n; ++i) { //n 个学生
for(int j = 1; j <= m; ++j) {// 当前学生做m个题目
while(getchar() != '(');//技巧,跳过所有非 ‘(’字符
string option;
char c;
while(scanf("%c",&c)) {//option存放(...)中的...字符
if(c == ')') break;//技巧,遇到 ‘)’字符 ,结束死循环
option += c;
}
if(option == Right[j])//答对
grade[i] += score[j];
else
wrongCnt[j]++;
}
}
for(int i = 1; i <= n; ++i)
printf("%d\n",grade[i]);
int MAX = 0;
for(int i = 1; i <= m; ++i) {
if(MAX < wrongCnt[i])
MAX = wrongCnt[i];
}
if(MAX == 0) printf("Too simple");
else {
printf("%d",MAX);
for(int i = 1; i <= m; ++i) {
if(MAX == wrongCnt[i])
printf(" %d",i);
}
}
return 0;
标签:cuowu,1058,选择题,st,int,score,111,110,字符串
From: https://www.cnblogs.com/chengyiyuki/p/18146834