PAT甲级
Mitchell1998
这个作者很懒,什么都没留下…
展开
-
1001 A+B Format
1001 A+B Format (20)Calculate a + b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Eac...原创 2019-07-20 22:44:46 · 62 阅读 · 0 评论 -
1051 Pop Sequence
1051 Pop Sequence题目大意有一个容量限制为M的栈,按照1~n的顺序依次入栈,给出一系列出栈的顺序,判断是否可能注意1、主要是思路,从1~n依次入栈,如果当前栈顶等于当前出栈序列需要出栈的数,就需要出栈,直到不等于。代码#include<stdio.h>#include<iostream>#include<stack>using...原创 2019-08-11 17:08:52 · 87 阅读 · 0 评论 -
1022 Digital Library
1022 Digital Library题目大意给出N本书的编号、书名、作者、关键词(多个)、出版社、出版年份,然后给出M个查询,可能是书名、作者、关键词(多个)、出版社、出版年份中的一个,给出所有满足条件的书的编号。注意1、只有编号唯一,所以一一建立书名、作者、关键词、出版社、出版年份和书名的映射。问题是,一个书名/作者/关键词…会和多个书名映射,即一对多的映射,所以要用map<s...原创 2019-08-09 21:53:48 · 174 阅读 · 0 评论 -
1054 The Dominant Color
1054 The Dominant Color题目大意给出N行M列的数字矩阵,找出超过半数的出现次数最多的数字。注意1、很典型的映射思路2、map真的很好用,如果用二维数组映射,就需要先构造一个特别大的数组。而map可以很方便的建立映射关系,通过find函数实现查询。mp.find(key)返回迭代器mp.erase(key)删除某对映射mp.erase(it) map.erase...原创 2019-08-09 20:12:32 · 179 阅读 · 0 评论 -
1100 Mars Numbers
1100 Mars Numbers题目大意实现火星文和数字的相互映射注意1、map的使用方法。数字->字符串的映射用数组就可以实现。2、输入整行getline(cin,str);3、输入整型数后,忽略后面的一个字符scanf("%d%*c",&n);代码#include<stdio.h>#include<iostream>#include&...原创 2019-08-09 13:24:12 · 98 阅读 · 0 评论 -
1108 Finding Average
1108 Finding Average题目大意输入可能存在非法输入,求合法输入数值的平均值注意1、最后的输出要注意,当合法数的个数为0或者大于等于2时,用复数numbers;当只有一个时,用单数number。2、另一种简单的参考方案时是,遍历找到小数点位置,如果存在小数点位置,并且小数点位置后还存在至少3个字符位,就说明不合法。3、可以直接用sscanf(str.c_str(),"%...原创 2019-08-08 22:03:47 · 235 阅读 · 0 评论 -
1060 Are They Equal
1060 Are They Equal原题目链接If a machine can save only 3 significant digits, the float numbers 12300 and 12358.9 are considered equal since they are both saved as 0.123×105 with simple chopping. No...原创 2019-08-08 17:39:48 · 94 阅读 · 0 评论 -
1063 Set Similarity
题目大意给出N个集合,给出的集合中可能含有相同的值,然后要求M个查询,每个查询给出两个集合的相同程度。注意1.因为查询给出的是集合的序号,所以输入集合是set[i],i要从1开始!2.输出百分号要两个%%。代码#include<stdio.h>#include<set>using namespace std;set <int> st[51];...原创 2019-07-20 22:40:02 · 58 阅读 · 0 评论 -
1047 Student List for Course
题目大意给出选课人数和课程数目,然后再给出每个人的选课情况,针对每门课程输出选课人数以及所有选该课学生的姓名。注意和1046题相反,实际上以及把所有学生的姓名排序,所以不需要用字符串hash把学生姓名映射到int类型。最重要的是,存储学生姓名的char二维数组,一定要是400015**,不能是40001*4,不然会数组越界,出现奇奇怪怪的输出。代码#include<stdio.h...原创 2019-07-20 15:58:42 · 99 阅读 · 0 评论 -
1039 Course List for Student
题目大意有N个学生,K门课。给出选择每门课的学生姓名。并在之后给出N个学生的姓名,要求按照顺序给出每个学生的选课情况。注意姓名和学生编号之间的映射,需要用字符串hash。用map和string会导致超时。而且姓名的最后一个数字可能会重复,所以不是按照最后一个数字简单的进行映射。另外,就是建立vector数组存储每个学生的选课情况。代码#include<stdio.h>#i...原创 2019-07-20 14:10:02 · 87 阅读 · 0 评论 -
1002 A+B for Polynomials
1.数组定义一定要是double a[1001]={};,a[1001]默认不是0 2.注意循环边界for(int k=0;k<1001;k++)#include<stdio.h>using namespace std;int main(){int k1,k2,i,j,count=0;double a[1001]={};double t;scanf("%d",...原创 2018-09-03 17:42:24 · 64 阅读 · 0 评论 -
1056 Mice and Rice
1056 Mice and Rice题目大意Np只老鼠,每次分为若干组晋级(每组数量始终为Ng),一直比赛知道只剩一只老鼠。具体比赛制度看英文,有点难懂。注意1、队列的使用2、每组未晋级的老鼠排名为每轮比赛的组数group+1,如果晋级,排名会在下一轮比赛是覆盖。3、考虑只有1只老鼠的特殊情况,在循环结束后还要对排名第一的老鼠赋值。4、最后一组老鼠数不足Ng只时要跳出循环。代码#...原创 2019-08-11 20:04:08 · 86 阅读 · 0 评论