【PAT】B1058 选择题(20 分)
这道题的逻辑怪复杂的,写起来蛮费时间的
结构体中要储存的信息多,整体不难,信息量大,容易把人搞蒙
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct ti{
int tihao;
int fen;
int xuan;
int Tnum;
bool zhengquedaan[127]={0};
int cuo=0;
}Data[101];
bool cmp(ti A,ti B){
if(A.cuo!=B.cuo) return A.cuo>B.cuo;
else return A.tihao<B.tihao;
}
int main(){
int N,M;//学生,题
scanf("%d %d",&N,&M);
for(int i=0;i<M;i++){//题数
scanf("%d",&Data[i].fen);
scanf("%d",&Data[i].xuan);
scanf("%d",&Data[i].Tnum);
for(int j=0;j<Data[i].Tnum;j++){
char c;
scanf(" %c",&c);
int a=c;
Data[i].zhengquedaan[a]=true;
}
Data[i].tihao=i+1;
}
for(int i=0;i<N;i++){ //人
int fenshu=0;
for(int k=0;k<M;k++){ //题
int num;char c;
int zhengnum=0;
int flag=true;
scanf(" (%d",&num);
for(int j=0;j<num;j++){ //验证答案
scanf(" %c",&c);
if(Data[k].zhengquedaan[c]) zhengnum++;
else flag=false;
}
getchar(); //吸收括号
if(zhengnum==Data[k].Tnum&&flag) fenshu+=Data[k].fen;
else Data[k].cuo++;
}
printf("%d\n",fenshu);
}
sort(Data,Data+M,cmp);
if(Data[0].cuo==0){
printf("Too simple");
return 0;
}
printf("%d",Data[0].cuo);
for(int i=0;i<M;i++){
if(Data[i].cuo!=Data[0].cuo) break;
printf(" %d",Data[i].tihao);
}
return 0;
}
【PAT】B1058 选择题(20 分)的更多相关文章
- PAT 1058. 选择题(20)
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多 ...
- 1058 选择题 (20 分)C语言
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个 ...
- PAT 乙级 1074 宇宙无敌加法器 (20 分)
1074 宇宙无敌加法器 (20 分) 地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”.每 ...
- PAT 甲级 1035 Password (20 分)
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for th ...
- PAT 1058 选择题(20)(代码+思路)
1058 选择题(20 分) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100 ...
- pat 1035 Password(20 分)
1035 Password(20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the ...
- pat 1124 Raffle for Weibo Followers(20 分)
1124 Raffle for Weibo Followers(20 分) John got a full mark on PAT. He was so happy that he decided t ...
- PAT 甲级 1035 Password (20 分)(简单题)
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for ...
- PAT(B) 1018 锤子剪刀布(C:20分,Java:18分)
题目链接:1018 锤子剪刀布 分析 用一个二维数组保存两人所有回合的手势 甲乙的胜,平,负的次数刚好相反,用3个变量表示就可以 手势单独保存在signs[3]中,注意顺序.题目原文:如果解不唯一,则 ...
- PAT (Advanced Level) Practice 1046 Shortest Distance (20 分) 凌宸1642
PAT (Advanced Level) Practice 1046 Shortest Distance (20 分) 凌宸1642 题目描述: The task is really simple: ...
随机推荐
- 200. Orchard学习 目录
201. Orchard学习 一.基础 210. Orchard学习 二.启动 211. Orchard学习 二 1.Application_Start 212. Orchard学习 二 2.Manu ...
- 以ActiveMQ为例JAVA消息中间件学习【3】——SpringBoot中使用ActiveMQ
前言 首先我们在java环境中使用了ActiveMQ,然后我们又在Spring中使用了ActiveMQ 本来这样已经可以了,但是最近SpringBoot也来了.所以在其中也需要使用试试. 可以提前透露 ...
- 高可用Hadoop平台-Hue In Hadoop
1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...
- docker compose示例
version: ' services: game-server: image: /tomcat: container_name: 'game-server' ports: - '8019:8019' ...
- VUE + ElementUI 从搭建到运行
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 前言:本文简洁的描述VUE + ElementUI 从搭建到运行,可以根据本文先搭建出可运行的项目,然后再详细回顾每个步骤所做的事: ...
- 一张图读懂PBN飞越转弯衔接TF/CF航段计算
在PBN旁切转弯的基础上,再来看飞越转弯接TF(或CF)航段,保护区结构上有些相似,只是转弯拐角处的保护区边界有“简化”,其余部分是相近的. FlyOver接TF段的标称航迹有一个飞越之后转弯切入航迹 ...
- [SCOI2015] 情报传递
题目描述 奈特公司是一个巨大的情报公司,它有着庞大的情报网络.情报网络中共有 n 名情报员.每名情报员可能有若干名 (可能没有) 下线,除 1 名大头目外其余 n−1 名情报员有且仅有 1 名上线.奈 ...
- HAProxy(二):HAProxy的ACL规则实现智能负载均衡详解与示例
一.HAProxy的ACL的功能 ACL(Access Control List)访问控制列表,HAProxy中的ACL的匹配条件和控制条件有许多种,功能很强大,可以通过源地址.源端口.目标地址.目标 ...
- DataGridView样式生成器使用说明
啥都不说先看图 一. 功能介绍 1. winform DataGridView样式代码可视化即时生成,所见即所得 2. 预置DataGridView样式代码方案 预置三 ...
- Socket 类
构造函数 名称 说明 Socket(AddressFamily, SocketType, ProtocolType) 新实例初始化 Socket 类使用指定的地址族. 套接字类型和协议. ...