Pat乙级1058 选择题

  • 思路
  • 代码

题目网址
https://pintia.cn/problem-sets/994805260223102976/problems/994805270356541440

思路

注意下输入的格式,用scanf处理。第1个测试点输出Too simple前先输出每个人的分数,然后输出Too simple,直接return 0。
data二维数组中,每一行最后一个存那道题的分数,倒数第二个存正确选项的个数。

代码

#include<iostream>
#define MAX 1005using namespace std;int data[MAX][MAX] = {0};
int vis[MAX] = {0};int main() {int n;int m;int score;int num;int num_right;char c;int N;int sum = 0;char temp;int flag;scanf("%d %d", &n, &m);for (int i = 1; i <= m; i ++) {                                                 scanf("%d %d %d", &score, &num, &num_right);for (int j = 1; j <= num_right; j ++) {scanf(" %c", &c);c = tolower(c);if (c >= 'a' && c <= 'e')data[i][c - 'a' + 1] = 1;}data[i][0] = score; data[i][MAX - 2] = num_right;}for (int i = 1; i <= n; i ++) {scanf("\n");for (int j = 1; j <= m; j ++) {if (j > 1)scanf(" ");scanf("(%d", &N);flag = 0;if (N != data[j][MAX - 2])flag = 1;for (int k = 1; k <= N; k ++) {scanf(" %c", &c);c = tolower(c);if (c >= 'a' && c <= 'e')if (data[j][c - 'a' + 1] <= 0)flag = 1;}scanf(")");if (flag <= 0)data[i][MAX - 1] += data[j][0];else {vis[j] ++;sum ++;}}}for (int i = 1; i <= n; i ++ )cout << data[i][MAX - 1] << endl;if (sum <= 0) {cout << "Too simple";return 0;}int TheMax = -1;int cnt = 0;for (int i = 1; i <= m; i ++) if (vis[i] > TheMax) TheMax = vis[i];cout << TheMax;for (int i = 1; i <= m; i ++) {if (vis[i] == TheMax)cout << " " << i;}return 0;
}

Pat乙级 1058 选择题相关推荐

  1. PAT 乙级 1058 选择题 python

    题目 思路: 根据信息统计学生成绩 和每道题错误学生的人数 根据要求输出 代码: stu_num,topic_num=map(int,(input().split()))topic_all=[] fo ...

  2. C++学习之路 | PTA乙级—— 1058 选择题 (20 分)(精简)

    1058 选择题 (20 分) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 10 ...

  3. PAT乙级题目索引(题目+解析+AC代码)

    题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 ...

  4. PAT乙级真题1058 || 选择题(详解,C/C++示例,测试点分析)

    [欢迎关注微信公众号:计算机黑科学大全,对话框回复:PAT乙级真题]获取全部真题详解及代码示例 个人博客地址:https://mzwang.top 选择题 题目描述: 批改多选题是比较麻烦的事情,本题 ...

  5. PAT (Basic Level) Practice (中文)1058 选择题 (20 分)

    PAT (Basic Level) Practice (中文)1058 选择题 (20 分) 文章目录 PAT (Basic Level) Practice (中文)1058 选择题 (20 分) 题 ...

  6. PAT (Basic Level) 1058 选择题(模拟)

    题目链接:点击查看 题目大意:给出规则,模拟批改多选题的过程,期间记录一下每道题有多少个人错,注意,在这个题目中的多选题,只有全部答案完全正确才能得到分数,其他情况分数均为0分计算 题目分析:又是一道 ...

  7. PAT 1058 选择题 python

    1058 选择题 (20 分) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 10 ...

  8. 【最新合集】PAT乙级最优题解(题解+解析+代码)

    以下每道题均是笔者多方对比后, 思考整理得到的最优代码,欢迎交流! pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) 9行代码AC 水 1002 写出这 ...

  9. 【PTA】 PAT乙级真题,95题(C++,AC代码)

    PAT乙级真题95题 标号 标题 分数 通过数 提交数 通过率 1001 害死人不偿命的(3n+1)猜想 15 109558 309119 0.35 1002 写出这个数 20 71739 28156 ...

最新文章

  1. 面了三次字节,他的一些感悟
  2. mysql服务器查绑定的域名查_MySQL使用show status查看MySQL服务器状态信息
  3. list 转set_MapStruct高级用法:List和String互转
  4. 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题(转)
  5. Android:解决魅族5在Logcat下不输出Log.v()日志
  6. java 转换为maven_Java工程转换为Maven工程
  7. 【Oracle】重置参数
  8. java float round_Java Math类static int round(float f)与示例
  9. 黑盒测试方法(五)正交实验设计方法
  10. win10 +ubuntu20.04双系统安装:双硬盘+nvidia独立显卡
  11. OV9281+RK3399Pro 双摄像头移植
  12. oracle中dbt是什么,汽车中的DBT是什么意思?
  13. 开口式霍尔电流传感器如何助力直流配电改造?
  14. 大数据之oracle:next_day函数
  15. 电脑如何远程控制挂机宝?影云挂机宝
  16. PDF文件如何导出成图片,PDF如何转换成图片
  17. has leaked window com.android.internal.policy.impl.PhoneWindow解决(Dialog.cancel、dismiss、hide区别)
  18. r生成新的dataframe_R语言中数据框的定义与使用
  19. Linux ls -l ll ln介绍
  20. Visual stuido 2010  sp1 微软官方下载地址

热门文章

  1. 031_mysql事务的安全隐患
  2. 034_ JDK的Enumeration接口
  3. 查看 Android SDK Build-tools 版本号
  4. php提示行号,在php中使用trigger_错误时如何获得正确的行号?
  5. axure命令行_Axure完成前端开发可行性探索
  6. android全面屏系统哪个版本开始,Android全面屏
  7. Docker容器的迁移
  8. 小学计算机课的活动设计方案,小学信息技术兴趣小组活动策划书三篇
  9. 计算机多媒体技术广泛应用于各个领域,多媒体技术发展前景计算机现状及
  10. html文字绕图文字置顶,如何实现html文字绕排