模拟
文章平均质量分 92
化身孤岛的鲸o
我祈祷拥有一颗透明的心灵
展开
-
洛谷 P1201 [USACO1.1] 贪婪的送礼者Greedy Gift Givers 模拟
洛谷 P1201 [USACO1.1] 贪婪的送礼者Greedy Gift Givers 模拟题解:使用map。记录每个人得到的钱数和送出的钱数即可。代码如下:#include<iostream>#include<algorithm>#include<stdio.h>#include<cmath>#include<queue&...原创 2020-02-24 23:11:27 · 273 阅读 · 0 评论 -
PAT甲级 1137 Final Grading 模拟+排序
代码如下://模拟+排序#include<iostream>#include<algorithm>#include<string>#include<vector>#include<map>using namespace std;struct student{ string id; int p,mid,...原创 2019-11-16 00:10:05 · 193 阅读 · 0 评论 -
PAT甲级 1136 A Delayed Palindrome 字符串+模拟
代码如下:#include<iostream>#include<stdio.h>#include<string>#include<algorithm>using namespace std;bool judge(string s){ string rev_s=s; reverse(rev_s.begin(),rev_...原创 2019-11-16 00:08:47 · 173 阅读 · 0 评论 -
PAT甲级 1132 Cut Integer 模拟
代码如下://模拟#include<iostream>#include<string>using namespace std;int main(){ int n; string s[25]; cin>>n; for(int i=0;i<n;i++){ cin>>s[i]; }...原创 2019-11-16 00:03:47 · 157 阅读 · 0 评论 -
PAT甲级 1124 Raffle for Weibo Followers map+模拟
代码如下://模拟+map#include<iostream>#include<string>#include<vector>#include<map>using namespace std;int m,n,s;//m条转发,从第n个开始,每次跳过s个vector<string> vec,res;map<st...原创 2019-11-15 23:48:35 · 145 阅读 · 0 评论 -
PAT甲级 1116 Come on! Let's C 模拟
代码如下://模拟#include<iostream>#include<stdio.h>#include<math.h>using namespace std;int n,k;int flag[10005]={0};int check[10005]={0};int f_rank[10005];bool judge(int x){ ...原创 2019-10-21 14:32:08 · 173 阅读 · 0 评论 -
PAT甲级 1109 Group Photo 模拟+排序
题目大意:有n个人准备照相,他们需要站成k排,每排有 n/k (向下取整)个人,剩下的人都需要站到最后一排。规则是:(1)每排中间的人是这一排最高的,假设一排有m个人,中间的位置为 m/2+1(2)后面一排的人都不能比前一排的人低(3)每一排除去那个最高的人,其余的人依次按照高低(从高到低)先向最高的人右边站,再向左边站,就是一次进来两个人一个站右边一个站左边。直到填满一排。(4)每...原创 2019-10-21 13:47:48 · 183 阅读 · 0 评论 -
PAT 甲级 1108 Finding Average 模拟
题目大意:给出n个实数,但其中有一些是不合法的,我们需要求出所有合法的数的平均数,并打印出那些数是不合法的。代码如下://模拟#include<iostream>#include<vector>#include<algorithm>#include<math.h>#include<string>#include<...原创 2019-10-21 13:37:41 · 229 阅读 · 0 评论 -
PAT甲级 1073 Scientific Notation 还原科学计数法的数字
Solution:将科学计数法的数字还原。代码如下://科学计数法#include<iostream>#include<math.h>#include<string>using namespace std;int main(){ string s; cin>>s; char int_sign,float_...原创 2019-09-01 15:29:45 · 198 阅读 · 0 评论 -
PAT甲级 1062 Talent and Virtue 排序+模拟
代码如下://排序#include<iostream>#include<string>#include<algorithm>#include<vector>using namespace std;struct people{ int id; int v_grade;//美德成绩 int t_grade;//...原创 2019-09-01 11:24:44 · 195 阅读 · 0 评论 -
PAT甲级 1060 Are They Equal 判断两个小数是否相等
Solution:题目要求:给出两个非负的小数,且都不超过10的100次方。再给出一个有效位数,将这两个小数都转化为科学计数法的形式,即0.d[1]…d[N]*10^k (d[1]>0 除非这个数是0),若转化后的两数相等,则输出“YES”,否则,输出“NO”。给出的数可能包含前缀0或者后缀0,要注意去掉。代码如下://模拟#include<iostream>#...原创 2019-09-01 11:15:56 · 233 阅读 · 0 评论 -
PAT甲级1083 List Grades 模拟+排序
代码如下://模拟+排序#include<iostream>#include<string>#include<algorithm>#include<vector>using namespace std;struct student{ string name; string id; int grade;};...原创 2019-09-01 17:55:56 · 153 阅读 · 0 评论 -
PAT甲级1058 A+B in Hogwarts 模拟
Solution:题目要求:要求求出a1.b1.c1 + a2.b2.c2的和,其中0<=a<=10的7次方,0<=b<17, 0<=c<19。代码如下://模拟#include<iostream>using namespace std;int a1,b1,c1;//分别表示三位int a2,b2,c2;int a3=0,b...原创 2019-09-01 11:03:37 · 151 阅读 · 0 评论 -
PAT甲级 1075 PAT Judge 模拟+排序
Solution:题目要求:模拟pat judge系统。给出n个用户,k个问题,m个提交数。对用户的总得分进行等级排名。每道题都有自己的分数。但用户总得分相同时,谁做的满分题目多谁排名靠前,若用户满分题目数仍相同,则按用户id排名。没有提交过一道题的用户以及提交过但没有一道题通过编译的用户不参加排名。代码如下://模拟+排序#include<iostream>#incl...原创 2019-09-01 15:43:29 · 232 阅读 · 0 评论 -
PAT甲级 1080 Graduate Admission 大模拟+排序
代码如下://模拟+排序#include<iostream>#include<vector>#include<algorithm>using namespace std;struct school{ vector<int> enter;//录取的学生数组 int quota;//限额 int now_num...原创 2019-09-01 17:50:22 · 175 阅读 · 0 评论 -
PAT甲级 1081 Rational Sum 分数相加的和
代码如下://求分数相加的和#include<iostream>#include<stdio.h>#include<math.h>using namespace std;int n;long gcd(long x,long y){//辗转相除法 x=fabs(x); y=fabs(y); if(y==0){ ...原创 2019-09-01 17:51:57 · 182 阅读 · 0 评论 -
PAT甲级 1095 Cars on Campus 模拟(30分)汽车停留
Solution:题目大意:给出n个汽车的记录,分别记录车的车牌号、到达或者离开时间。再给出k个查询,每个查询给出一个时间,求出在这个时间点有多少车停在校园内。并且求出所有车中累计停留时间最长的车的车牌号以及最长时间。每个in都要与后一个时间连续的out匹配,不能匹配的不计算在内(比如连续两个in,第一个就不算,或者连续两个out,第二个就不算)。代码如下://模拟#include&...原创 2019-09-12 21:39:28 · 339 阅读 · 0 评论 -
PAT甲级 1082 Read Number in Chinese 把阿拉伯数字翻译成中文
Solution:这道题模拟得太烦了。。。。特别的结尾的空格控制,还有“ling”的输出。。最终还是过了代码如下://把阿拉伯数字翻译为中文 模拟#include<iostream>#include<string>#include<math.h>using namespace std;long n;string s;string nu...原创 2019-09-01 17:54:46 · 284 阅读 · 0 评论 -
PAT甲级 1100 Mars Numbers 字符串模拟
代码如下://字符串模拟#include<iostream>#include<string>#include<map>#include<stdio.h>#include<string.h>using namespace std;string first[12]={"tam","hel","maa","huh","to...原创 2019-09-30 20:56:10 · 170 阅读 · 0 评论 -
PAT甲级 1008 Elevator 模拟
Solution:简单的模拟题。模拟电梯的运行。代码如下:#include<iostream>using namespace std;int main(){ int n; cin>>n; int goal[1005]; for(int i=0;i<n;i++){ cin>>goal[i]; } int tota...原创 2019-07-15 20:31:04 · 171 阅读 · 0 评论 -
PAT甲级 1056 Mice and Rice 模拟+排序
Solution:题目要求:np为老鼠的数量,ng为每组最多g个老鼠。先给出np个老鼠的重量,再给出老鼠的初始顺序(处于第i个位置的老鼠是第j号,j从0开始)。每ng个老鼠分为一组,对于每组老鼠,选出最重的那个,晋级下一轮比赛,然后依次再以np个老鼠一组分类,然后选出重量最大的。直到只剩下一只老鼠,排名为1。输出为老鼠的排名,这个排名是按照原输入老鼠的顺序输出的。代码如下:#incl...原创 2019-09-01 10:58:02 · 240 阅读 · 0 评论 -
PAT甲级 1055 The World's Richest 排序
Solution:题目要求:给出n个人的财富信息,给出k个查询,每个查询要输出一个年龄段中最富有的m个人的名字,年龄以及财富信息。根据题目要求排序即可。代码如下://排序#include<stdio.h>#include<iostream>#include<string.h>#include<string>#include...原创 2019-09-01 10:48:51 · 228 阅读 · 0 评论 -
PAT 甲级1014 Waiting in line 模拟队列
代码如下:#include <iostream>#include <stdio.h>#include <queue>#define seventeen 1020#define eight 480#define INF 0x3f3f3f3fusing namespace std;struct customer{ int cost_time...原创 2019-04-22 13:56:53 · 295 阅读 · 0 评论 -
PAT甲级 1012 The Best Rank 模拟
代码如下://模拟#include<iostream>#include<string>#include<map>#define maxn 2005using namespace std;map<string,int> mp;struct people{ double a; double c; doubl...原创 2019-07-15 20:36:52 · 169 阅读 · 0 评论 -
PAT甲级 1011 World Cup Betting 模拟
代码如下://模拟#include<iostream>#include<algorithm>#include<math.h>#include<iomanip>using namespace std;double odd[3][3];int main(){ for(int i=0;i<3;i++){ for(i...原创 2019-07-15 20:34:37 · 169 阅读 · 0 评论 -
PAT 甲级 1009 Product of Polynomials 多项式乘法
思路:PAT 甲级 1002 多项式加法可以先参考多项式加法。乘法的思路和加法基本一样。我们先找出两个多项式的最高指数项的指数max1、max2和最小指数项的指数min1、min2,相乘后得到的多项式的最高指数项的指数一定是max1+max2,最小指数项的指数一定是min1+min2。遍历这个指数范围,输出最后的结果即可。代码如下:c#include<iostream>#i...原创 2019-04-19 12:42:40 · 192 阅读 · 0 评论 -
PAT甲级 1006 Sign In and Sign Out 模拟
Solution:模拟题。给出几个人到来的时间和离开的时间,输出最早到来的人和最晚离去的人的编号。排序就行了。代码如下:#include<iostream>#include<string>#include<math.h>#include<algorithm>using namespace std;int m;struct pe...原创 2019-07-14 23:13:17 · 201 阅读 · 0 评论 -
PAT 甲级 1005 Spell it right
Solution:这道题求一个小于10的100次方的数n的所有位的数字之和,并用英文来表示。模拟就行了。代码如下:#include<iostream>using namespace std;int num[100];int main(){ string s; cin>>s; int sum=0; for(int i=0;i<s.le...原创 2019-07-14 23:03:45 · 157 阅读 · 0 评论 -
PAT 甲级 1002 易懂题解
Solution:这道题给出两个多项式的系数和指数,让我们求两个多项式相加的和。我们可以用a1和b1数组分别存储第一个多项式的指数和系数,a2和b2数组分别存储第二个多项式的指数和系数。再将两个多项式相加后各项的系数存入xishu数组。重点:我们需要记录两个多项式中的指数最大项的指数max和指数最小项的指数min,于是合并后的指数范围就为min~max。我们遍历这个指数范围,把系数不为0的...原创 2019-04-17 23:54:24 · 1937 阅读 · 0 评论 -
PAT甲级1001 A+B Format 格式化输出结果
Solution:这道题的意思是计算a+b的和并格式化输出,也就是用逗号“,”隔开。用sum不断取1000的余数,再不断地除以1000直到结果为0,把结果存放在num数组中。代码如下:#include<stdio.h>int main(){ int a,b; int k=0; int num[10]; scanf("%d%d",&a,&b)...原创 2019-07-13 10:45:34 · 210 阅读 · 0 评论 -
PAT 甲级 1017 Queueing at Bank 模拟队列
思路:这道题算是一道模拟题,就是过程有些繁琐。有n个人,有m个窗口,有一条黄线,每个人到达后都会在黄线后等待,直到有一个窗口被空出来,黄线外最先到达的人就会到那个窗口接受服务,直到黄线外的人都接受了服务为止。我们要计算的是所有人的平均等待时间。对于在17点之后到达的人,他们不能接受服务,故他们并不计算在内。我们为所有窗口设置的一个队列,我们有每个人的到达时间a_time,那么我们只要求出每一...原创 2019-04-25 23:09:49 · 360 阅读 · 0 评论 -
PAT甲级 1019 General Palindromic Number 数制的转化+判断回文数
代码如下://回文序列+进制间的转化#include<iostream>using namespace std;int n,base;//n为数字,base为转化的进制数int num[50];//储存转换后的进制数int cnt=0;//记录转换后的位数bool judge(int a[]){//判断回文数 for(int i=0,j=cnt-1;i<...原创 2019-05-05 12:24:39 · 173 阅读 · 0 评论 -
PAT甲级 1046 Shortest Distance 记录前缀和
Solution:题目要求:给出一个圈上所有的出口信息,求任意两个出口间的最短距离。输入:第一行第一个数n,为n个出口(出口编号为1~n),接下来n-1个数字为第i个出口距离第i+1个出口的距离,最后一个数字为第n个出口距离第1个出口的距离。对于查询数目k,要求对于每一个查询给出最短距离。不能根据查询的点再进行计算,而是在输入的时候就进行累加,查询时,直接根据sum数组相减就可以直接得...原创 2019-08-31 16:54:54 · 176 阅读 · 0 评论 -
PAT甲级 1041 Be Unique 模拟
Solution:题目要求:给出n个数字,输出第一个非重复数字。代码如下:#include<iostream>#include<algorithm>using namespace std;int a[10005],b[100005];int main(){ int n; cin>>n; int num; ...原创 2019-08-31 16:26:11 · 155 阅读 · 0 评论 -
PAT甲级1036 Boys vs Girls 模拟
Solution:题目要求:要求找出所有学生中男生最低分以及女生最高分。并求出它们的差值。输入:第一行n为所有学生数量,接下来n行为学生的信息,依次是name(姓名), gender(性别)(F表示女生,M表示男生), ID 以及 grade(成绩)(0<=grade<=100)。输出:输出为三行,第一行是最高分女生的信息,第二行为最低分男生的信息,第三行为两者之差(为正),...原创 2019-08-31 15:35:16 · 216 阅读 · 0 评论 -
PAT甲级 1031 Hello World for U 模拟
代码如下:#include<iostream>#include<string.h>#include<stdio.h>#define MAX 100using namespace std;char ch[MAX][MAX];char s[MAX];int main(){ for(int i=0;i<MAX;i++){ for...原创 2019-07-15 20:50:31 · 172 阅读 · 0 评论 -
PAT甲级 1028 List Sorting 模拟+排序
Solution:这道题的意思是,有n(n<10的5次方)个学生,他们有学号id,姓名name,成绩grade信息,且他们的学号id都不同。当读入c等于1时,要将他们按学号id升序排序;当c等于2时,要将他们按姓名升序进行排序,若name相同,则按id升序排序;当c等于3时,要将他们按成绩升序进行排序,若grade相同,则按id升序进行排序。其实很简单。不过要注意:读入和输出要用sca...原创 2019-05-16 23:34:21 · 197 阅读 · 0 评论 -
PAT甲级 1027 Colors in Mars 10进制转化为13进制
Solution:这道题的意思是,将三个0~168的十进制数转化为13进制数(0 ~9,A ~C)并输出,若不够两位,则需要在左边补0。注意点:0 0 0 输出应为:#000000。代码如下://10进制转化为13进制#include<iostream>#include<stdio.h>using namespace std;int a,b,c;//三个...原创 2019-05-16 22:38:44 · 431 阅读 · 0 评论 -
PAT甲级 1026 Table Tennis 模拟+排序
Solution:这道题的意思是有一家桌球俱乐部,这个俱乐部共有k个台球桌,其中m个是vip桌,剩余的是普通桌。这些桌子都有一个编号1~k。这家俱乐部的营业时间为8:00:00 ~ 21:00:00。共有n个顾客会来打桌球,它们的到来时间都不同。规则是,如果vip桌子有空闲,而且队列里面有vip成员,那么等待队列中的第一个vip球员会到最小的vip球桌训练。如果vip桌子空闲但是没有vip来...原创 2019-05-16 12:26:34 · 478 阅读 · 0 评论 -
PAT甲级 1025 PAT Ranking 模拟+排序
Solution:这道题的意思是PAT共有n个考场,每个考场有不同数量的考生,每个考场的考生数量为k,考场编号为1~n。每个考生有考号、成绩、所在考场编号、当前考场排名以及所有考场总排名这些信息。我们需要计算每个考生的分区排名,总体排名,最后按总体排名打印考生信息。代码如下://模拟+排序#include<iostream>#include<string>#...原创 2019-05-14 20:05:21 · 181 阅读 · 0 评论