题目地址

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int score[N],sum[N],cnt[N],n,m;
vector<string>ans;
bool check(string s,int x)
{int k=0;for(int i=0;i<s.size();i++){if(ans[x].find(s[i])==-1) return false;k++;}if(k==ans[x].size()) return true;else return false;
}
int main(void)
{cin>>n>>m;for(int i=0;i<m;i++){int x;cin>>score[i]>>x>>x;string s;for(int j=0;j<x;j++){string temp; cin>>temp;s+=temp;}ans.push_back(s);}string s; getline(cin,s);for(int i=0;i<n;i++){getline(cin,s);int k=0;string temp;for(int j=0;j<s.size();j++){if(s[j]>='a'&&s[j]<='z') temp+=s[j];if(s[j]==')'){if(check(temp,k)) sum[i]+=score[k];else cnt[k]++;k++;temp.clear();}}}for(int i=0;i<n;i++) cout<<sum[i]<<endl;int index=-1;for(int i=0;i<m;i++) if(cnt[i]>index) index=cnt[i];if(index){cout<<index;for(int i=0;i<m;i++) if(cnt[i]==index) cout<<" "<<i+1;}else cout<<"Too simple";return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int score[N],sum[N],cnt[N],n,m;
vector<string>ans;
int main(void)
{cin>>n>>m;for(int i=0;i<m;i++){int x;cin>>score[i]>>x>>x;string s;for(int j=0;j<x;j++){string temp; cin>>temp;s+=temp;}ans.push_back(s);}string s; getline(cin,s);for(int i=0;i<n;i++){getline(cin,s);int k=0;string temp;for(int j=0;j<s.size();j++){if(s[j]>='a'&&s[j]<='z') temp+=s[j];if(s[j]==')'){if(temp==ans[k]) sum[i]+=score[k]; // 可以直接比较 不用挨个查找比较else cnt[k]++;k++;temp.clear();}}}for(int i=0;i<n;i++) cout<<sum[i]<<endl;int index=-1;for(int i=0;i<m;i++) if(cnt[i]>index) index=cnt[i];if(index){cout<<index;for(int i=0;i<m;i++) if(cnt[i]==index) cout<<" "<<i+1;}else cout<<"Too simple";return 0;
}

【PAT乙级】1058 选择题 (20 分)相关推荐

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

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

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

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

  3. Pat乙级 1058 选择题

    Pat乙级1058 选择题 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/9948052703565414 ...

  4. 【详细注释】1058 选择题 (20 分)

    立志用最少的代码做最高效的表达 PAT乙级最优题解-->传送门 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整 ...

  5. 1032 挖掘机技术哪家强【PAT乙级】(20分)

    为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 1 0 5 10^5 105的正整数 N,即 ...

  6. PAT乙级1088 三人行 (20分)

    子曰:"三人行,必有我师焉.择其善者而从之,其不善者而改之." 本题给定甲.乙.丙三个人的能力值关系为:甲的能力值确定是 2 位正整数:把甲的能力值的 2 个数字调换位置就是乙的能 ...

  7. PAT 乙级 1058 选择题 python

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

  8. C++学习之路 | PTA乙级—— 1064 朋友数 (20 分)(精简)

    1064 朋友数 (20 分) 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如 123 和 51 就是朋友数 ...

  9. C++学习之路 | PTA乙级—— 1062 最简分数 (20 分)(精简)

    1062 最简分数 (20 分) 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N ​1 ​​ /M ​1 ...

最新文章

  1. tensorflow随笔-队列管理器QueueRunner-生产者与消费者
  2. centos7python命令_详解Linux Centos7下安装Python的方法
  3. Matplotlib 中文用户指南 4.6 编写数学表达式
  4. python协程等待执行完成_当循环运行时,如何运行协同程序并等待同步函数的结果?...
  5. 【网络编程】——windows socket 编程
  6. 动态规划---01背包问题--Dp(详解附代码)
  7. UIButton设置UIControlContentHorizontalAlignment调整文字对齐方式
  8. python求解矩阵搜索问题,矩阵中每一行和第一列都是递增的 给定一个元素查找矩阵中是否存在该元素
  9. Win10 LSTC与Ubuntu18.04LTS双系统安装详细流程
  10. Excel·VBA下载URL链接网络文件
  11. 刘宇凡:当网络营销泛滥成灾时
  12. php红包退回通知,PHP红包算法
  13. 简单的java文档扫描器
  14. 49. 把字符串转换成整数
  15. kerberos mysql配置_CDH安装之篇四:启用Kerberos认证
  16. E03.04 Blue-Collar Boom: How China Bounced Back From the Virus
  17. VIM编辑器不能wq退出
  18. 利用jsoup爬取百度网盘资源分享连接(多线程)
  19. 网红品牌打造流程是什么?爆款打造流程分享
  20. 2012年终全球IT企业市值TOP25排行榜

热门文章

  1. MSSql-SP_who分析数据库性能
  2. 【提权思路】绕过SecureRDP限制远程连接
  3. jquery单选框radio绑定click事件实现和是否选中的方法
  4. LYDSY模拟赛day2 Divisors
  5. 砝码问题之一(回头发现貌似多重背包)
  6. C#命令行编辑器csc.exe
  7. 为什么创业者专注做一个产品最好?
  8. flot中文API(转载)
  9. ESP8266编译脚本
  10. 美国计算机专业 学校推荐信,美国大学计算机专业推荐信范文