
模拟
jmxwzy
这个世界太♂乱
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT乙级1030
尺取法尺取法通常是指对数组保存一对下表(起点,终点),然后根据实际情况交替推进两个端点直接得出答案的方法,这种操作很像是尺蠖(日文中称为尺取虫)爬行的方式故得名。(以上文字摘自挑战程序设计竞赛第2版)Codeforces中显示它的算法名称叫做"two pointers". 直译成中文的话叫双指针法. 怎么说呢……做到提高组之后,很多oier仅仅是觉得好像有这么一个两个指针从左到右扫一遍...原创 2020-04-26 14:42:52 · 200 阅读 · 0 评论 -
PAT乙级1031
照题目意思模拟即可两种通不过的情况:1.前17位出现不合法字符,遇到后直接退出2.前十七位加和对11取模后的值与表中不符一个小细节以上两种情况不能用if并列,而是if(有不合法字符)......else{if(取模后的值不相等)}否则测试点2答案错误#include <iostream>#include <cstdio>#include <...原创 2020-04-26 14:10:08 · 144 阅读 · 0 评论 -
PAT乙级1028
开始我想的比较麻烦,比如统计有效生日年数,我先判断是不是有效年份,需要分成>1814和==1814的情况,如果==1814,还要再根据月份分情况,分出了>9和==9的情况。。。后面找最年轻和最年长的人也麻烦,我先把所有人从小到大排序,以找最年轻的人为例,枚举p数组,分出==1814和>1814的情况,然后就和上面一样一直分情况。。。结果只有13分后来百度了一下,发现结构体是可...原创 2020-02-06 21:24:50 · 228 阅读 · 0 评论 -
PAT乙级1027
把输出的图形看成三个部分,假设上部分和下部分分别有t层,则t=3+5+7+9+......,是个等差数列求和,算出来是t^2+2t,乘以2再加上中部分的1个,整理出来总个数就是2*t*t+4*1,用输入的数n减去即可以输出上部分图形为例,每层先输出空格,以题目给的样例为例,t=2,上部分应该倒着输出,所以第2行有0个空格,第一行有1个空格,第i行有t-i个空格;每行有2*i+1个*,下部分正序...原创 2020-02-05 18:56:10 · 287 阅读 · 0 评论 -
PAT乙级1019
太骚的东西不能用,,本来我想用vector来存储每一位数,主要是看中它有个clear的功能,后来想了想确实没有必要,只有四位数,每次直接单点暴力修改即可。如果没有思路可以先只模拟第一次,后续的写法和第一次近乎相同,就是放在循环里输出时如果有格式要求尽量使用printf,比cout好用#include <iostream>#include <cstdio>#in...原创 2020-01-29 18:55:37 · 271 阅读 · 0 评论 -
PAT乙级1017
高精除以单精首先要考虑被除数的第一个数,如果它除以除数不是零而且被除数不只是一位,就先输出,这样就可以处理到底是只用第一位就可以除还是一二项结合才能除的情况然后从第二项开始,模拟除法的过程。假设就从第二项开始,以样例一为例子,经过上述操作后q=1,r=5,然后把3落下来,计算53除以7.......商的每一项是上一项除完后的余数*10加上这一项的被除数去除以b,余数的这一项就是前面说的那一...原创 2020-01-28 20:49:13 · 236 阅读 · 0 评论 -
PAT乙级1015
录取四种学生:才德全尽,德胜才,才德兼亡但德胜才,过线的开了四个容器分别将符合条件的学生压入相应的容器,再sort一下即可注意id是升序c++用endl换行会超时#include <iostream>#include <cstdio>#include <vector>#include <cstring>#include &l...原创 2020-01-27 19:45:05 · 215 阅读 · 0 评论 -
PAT乙级1014
根据题意模拟注意枚举的长度要按二者最短的长度枚举#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){ string s1,s2,s3,s4; cin>&g...原创 2020-01-26 21:22:37 · 194 阅读 · 0 评论 -
PAT乙级1013
先把素数筛出来,然后在输入的范围内枚举输出即可主要是筛素数枚举的范围,主要是第10000个素数有多大,搜了一下是104729,否则一直会是19分#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>...原创 2020-01-17 19:16:31 · 126 阅读 · 0 评论 -
PAT乙级1011
开long long,if判断,定义个计数器#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){ int T; cin>>T; long long i=0;...原创 2020-01-16 20:15:57 · 144 阅读 · 0 评论 -
PAT乙级1010
这个题的输入和上个题目一样循环输入即可,我感觉我这种写法主要是空格的输出需要要想一下,定义一个flag初值为0,输出第一项的系数和指数后将值置为1,当了输出第二项前会先判断flag的值来输出空格,零多项式另外判断一下即可,就是输入后flag值没变一直为0#include <iostream>#include <cstdio>#include <cstring...原创 2020-01-16 20:05:56 · 154 阅读 · 0 评论 -
PAT乙级1008
定义了一个b数组为答案数组,先存储因为前面的数后移而要到前面去的数,这些数有m%n个,所以在输入n,m后有一个坑点就是不保证n>m,如果没有m%=n这一句,第二第三个点会WA,然后在将a数组的数从b[k]开始导入进b数组#include<iostream>#include<cstdio>#include<cmath>#include<cs...原创 2019-12-31 20:22:20 · 169 阅读 · 0 评论 -
PAT乙级1007
先打素数表,然后枚举这个表找出符合条件的情况关于素数表的实现,我一开始想的是枚举2-n的每个数,然后对于枚举的每个数i,如果存在小于sqrt(i)的因数就把这个数打上标记,再枚举一遍找出没打标记的数存入a数组中,不过不知道是不是我写的不对,flag标记数组会给每个数都打标记,,然后我又想了想,可以这样做:枚举过程一样,不用flag数组,对于每个不超过n的数,如果枚举因数 j 时 j 的值超...原创 2019-12-27 13:53:05 · 183 阅读 · 0 评论 -
PAT乙级1006
先得出输入的数的位数,题目保证位数<4,然后分情况讨论,比如如果这个数是三位,那么B的数量就是百位上的那个数,S就是十位上的那个数,个位一个循环搞定#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;i...原创 2019-12-20 14:47:07 · 201 阅读 · 0 评论 -
PAT乙级1005
定义了一个flag数组判断这个数是否被覆盖,若被覆盖就标记2,对于a数组中的每一个数,如果flag值为2就不必进行猜想的验证操作,否则就进行验证,将每一次的操作得出来的数flag赋值2,然后统计未被覆盖数(即flag=1)的数量,排序后输出即可#include<iostream>#include<cstdio>#include<cstring>#in...原创 2019-12-20 14:27:29 · 256 阅读 · 0 评论 -
PAT乙级1004
用结构体很方便#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct student{ string sname,sid; int point;}s[100010];bool cmp(stu...原创 2019-12-17 13:19:32 · 110 阅读 · 0 评论 -
PAT乙级1002
首先注意到n小于10的100次方,所以要把n定义成一个字符串输入,再把它转成数字求出sum,然后统计出sum的位数并把sum每一位存进b数组中,注意这里的b数组要倒着枚举(想想sum每位数是怎样被放进b数组的),然后if暴力判断。。。然后想想,其实可以预先开一个p字符串把1-9的拼音预存进去,然后枚举字符串s(和也可能有很多位),s中每个数所对应的拼音的下标就是它自己,例如5=p[5]=...原创 2019-12-16 22:32:57 · 201 阅读 · 0 评论 -
PAT乙级1001
简单题目,照题目意思模拟即可#include<iostream> #include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n;int main(){ cin>>n; int cnt=0; while(n!=1) {...原创 2019-12-16 21:40:32 · 195 阅读 · 0 评论 -
JSOI2007麻将
这是第一天的一道题,yzh dalao把它归为比较难的一道题目,蒟蒻的我就来看一看,我会告诉你我会打麻将吗题目链接:https://www.luogu.org/problemnew/show/P4050首先先介绍一些麻将的知识(个人理解,若有误请见谅)听牌:woc我马上就要胡牌了,还剩一张牌就可以胡,那么就说我们在“听”这张牌对子,刻子,顺子,就像斗地主里的对牌,顺子一样首先先枚举听牌,然后枚举对...原创 2018-02-09 19:04:03 · 333 阅读 · 0 评论 -
国王游戏(贪心+模拟)
题目描述恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特原创 2017-10-25 11:11:26 · 3545 阅读 · 1 评论