![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
Hillbox
这个作者很懒,什么都没留下…
展开
-
C++版浙大PAT甲级1002(25分)
#include <iostream>#include <string.h>#include <iomanip>using namespace std;int main() { int a, b, an, bn, count=0; double arr[1001], aa, ba; memset(arr, 0, sizeof(arr)); // 输入多项式A cin >> a; for(int i=0.原创 2021-10-10 13:27:39 · 88 阅读 · 0 评论 -
C++版浙大PAT甲级1001(20分)
#include <iostream>#include <string.h>using namespace std;int main() { int a, b, c, d; cin >> a >> b; c = a + b; // 处理负数 if(c<0){ cout << "-"; c = -c; } string str = to_strin.原创 2021-10-09 23:39:02 · 87 阅读 · 0 评论 -
C++版浙大PAT乙级1095(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071786104348536832主要是情况3容易超时,把cout改成printf效率会高一些。#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;struct stu{// 学生 st..原创 2021-03-12 09:13:32 · 168 阅读 · 0 评论 -
C++版浙大PAT乙级1094(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785997033074688不要忘了不足k位的数补零。#include<iostream>#include<string>#include<math.h>using namespace std;bool isPrime(long int num){ for(long int i=2; i<sqrt(num); i..原创 2021-03-12 08:15:00 · 151 阅读 · 0 评论 -
C++版浙大PAT乙级1093(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785884776722432简单题。#include<iostream>using namespace std;int main() { int num[256]={0}; string a, b, c, res; getline(cin, a); getline(cin, b); c = a + b; for(int i=0; i&l..原创 2021-03-12 08:13:37 · 108 阅读 · 0 评论 -
C++版浙大PAT乙级1092(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785779399028736老是喜欢边输入边处理,得改!#include<iostream>using namespace std;int main() { int n, m, t, k=0, max=-1; cin >> n >> m; int num[n]={0}, max_arr[n]; for(int i=0;.原创 2021-03-12 08:12:47 · 162 阅读 · 0 评论 -
C++版浙大PAT乙级1091(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785664454127616简单题。#include<iostream>#include<string.h>using namespace std;int main() { string str1, str2; int m, n, num, flag; cin >> m; for(int i=0; i<m; ..原创 2021-03-12 08:11:34 · 114 阅读 · 0 评论 -
C++版浙大PAT乙级1090(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429484026175488这题是我第一次用vector,相当于变长数组。我需要改掉边输入边处理的思路。。明明很简单的题,让我做的特别复杂QAQ。#include<iostream>#include<algorithm>#include<map>#include<vector>using namespace s..原创 2021-03-11 17:13:40 · 100 阅读 · 0 评论 -
C++版浙大PAT乙级1089(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429385296453632没理解题意,导致做了很久。这题的意思是n个人说话,其中有两个说了慌,一个是狼人,一个是好人。然后要你找出编号最小的两个狼人。解题思路就是两个嵌套循环,分别确定两个狼人,再来次循环,统计当前情况下的狼人和好人的说谎人个数。当说谎人个数都是1时,符合条件,输出编号,结束程序。一直都没有就No solution。#include&.原创 2021-03-11 17:10:39 · 159 阅读 · 0 评论 -
C++版浙大PAT乙级1088(20分)测试点4答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/1038429286185074688测试4是把丙的得分值的数据类型改为double。#include<iostream>#include<math.h>using namespace std;string cmp(int m, double n){ if(m==n){ return " Ping"; }else if(m>n){..原创 2021-03-10 23:30:50 · 175 阅读 · 0 评论 -
C++版浙大PAT乙级1087(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429191091781632简单题。#include<iostream>using namespace std;int main() { int n, t, num[30000]={0}, count=0; cin >> n; for(int i=1; i<=n; i++){ t = i/2 + i/3 + i/5; ..原创 2021-03-10 23:27:17 · 106 阅读 · 0 评论 -
C++版浙大PAT乙级1086(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429065476579328简单题。#include<iostream>#include<string.h>#include<algorithm>using namespace std;int main() { int a, b, c; string str; cin >> a >> b;..原创 2021-03-10 23:26:01 · 98 阅读 · 0 评论 -
C++版浙大PAT乙级1085(25分)测试点3、4答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805260353126400map<string, int>默认值的int为0。因为为用了map来存每个单位对应的结构体数组下标,所以结构体数组的下标要从1开始,中间取整数的那个循环忘记改成从1开始了,导致测试点3、4答案错误。#include<iostream>#include<algorithm>#include<cc..原创 2021-03-09 15:07:13 · 302 阅读 · 0 评论 -
C++版浙大PAT乙级1084(20分)测试点4运行超时解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120之前的代码测试点4超时了,原因是字符串拼接的时候是str= str + 什么什么,但是要改成str += 什么什么,才不会超时。#include<iostream>using namespace std;int main() { int n, p, q; string str, pre; cin >> s..原创 2021-03-09 15:03:01 · 520 阅读 · 0 评论 -
C++版浙大PAT乙级1083(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408简单题。#include<iostream>using namespace std;int main() { int n; cin >> n; int num[n], rev[n], cha[10000]={0}; for(int i=0; i<n; i++){ num[i] = i+1; ..原创 2021-03-09 14:59:38 · 93 阅读 · 0 评论 -
C++版浙大PAT乙级1082(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805260990660608简单题。#include<iostream>#include<math.h>using namespace std;int main() { int n, x, y, max_index=-1, min_index=-1, person[n]; cin >> n; double dis, m..原创 2021-03-09 14:58:55 · 108 阅读 · 0 评论 -
C++版浙大PAT乙级1081(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024现在才知道,isalnum是判断是否为数字或字母,之前一直以为是判断数字的,蠢了蠢了。#include<iostream>#include<cctype>using namespace std;int main() { int n, alpha_flag, digit_flag, legal_flag, l..原创 2021-03-09 14:58:10 · 101 阅读 · 0 评论 -
C++版浙大PAT乙级1080(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805261493977088这题用了map来通过名字找编号。一开始没想到用结构体和sort,用了几个数组和快速排序,我好笨,浪费了好多时间。#include<iostream>#include<algorithm>#include<map>using namespace std;struct person{ string .原创 2021-03-08 13:22:21 · 158 阅读 · 0 评论 -
C++版浙大PAT乙级1079(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805261754023936做了宇宙最强加法器那道题,对这道题的做法很有帮助。因为整数实在是太大,必须借用string来做加法。 也学习了reverse的用法。#include<iostream>#include<string>#include<algorithm>using namespace std;bool isHui.原创 2021-03-08 13:19:27 · 89 阅读 · 0 评论 -
C++版浙大PAT乙级1078(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262018265088压缩容易,解压难一点。解压的时候一个字符的重复个数可能是10以上,要对有数字和没数字的字符进行标记。#include<iostream>using namespace std;int main() { char ch; string str, res; cin >> ch; getchar(); ge..原创 2021-03-08 13:14:05 · 112 阅读 · 0 评论 -
C++版浙大PAT乙级1077(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262303477760简单题,学习了四舍五入的方法。#include<iostream>using namespace std;int main() { float avg; int n, m, g1, g2, count, score, max, min, sum; cin >> n >> m; for(int..原创 2021-03-08 13:10:50 · 75 阅读 · 0 评论 -
C++版浙大PAT乙级1076(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262622244864简单题,让我做了15分钟,主要脑袋一下子卡了T_T。#include<iostream>using namespace std;int main() { string str; int n; cin >> n; getchar(); for(int i=0; i<n; i++){ getli..原创 2021-03-08 13:09:41 · 81 阅读 · 0 评论 -
C++版浙大PAT乙级1075(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262953594880这题花了比较久的时间。之前做过类似的题。data数组用来装地址对应的数,主要用来比较大小;next数组用来装指向下一个的地址,主要用来遍历整个链表。只需要搞清楚如何把数字们排序就好。我是遍历三次整个链表,每次分别把应该放在最左、中间和最右的数的地址给装进一个一维数组。最后遍历一维数组进行打印。#include<iostream>..原创 2021-03-06 22:28:03 · 125 阅读 · 0 评论 -
C++版浙大PAT乙级1074(20分)测试点1、测试点3、测试点5答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805263297527808测试点1、3是没有考虑到两数相加的最高位要进位的情况。测试点5是没考虑到两数都是0的情况,比如num1是00000,num2是000。#include<iostream>#include<string.h>using namespace std;int main() { int i, j, a, b, ..原创 2021-03-06 17:15:21 · 353 阅读 · 0 评论 -
C++版浙大PAT乙级1073(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805263624683520繁杂的题。先是没看清题意,后面要注意好多细节。#include<iostream>#include<string.h>using namespace std;struct{ int score; int right_opt[5]={0}; int wrong_opt[5]={0}; int right..原创 2021-03-05 15:23:25 · 89 阅读 · 0 评论 -
C++版浙大PAT乙级1072(20分)测试点2答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144测试点2是要以4位数字的格式输出。这么简单的点居然给忘了!#include<iostream>using namespace std;int main() { int n, m, t, w, temp, k, item[10000]={0}, weijin[6], count1=0, count2=0; cin >..原创 2021-03-05 15:21:53 · 319 阅读 · 1 评论 -
C++版浙大PAT乙级1071(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805264312549376简单题#include<iostream>using namespace std;int main() { int T, k, n1, b, t, n2, remain; cin >> T >> k; remain = T; for(int i=0; i<k; i++){ cin ..原创 2021-03-05 15:20:00 · 86 阅读 · 0 评论 -
C++版浙大PAT乙级1070(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805264706813952这题我恁是理解不了什么意思,25分就贵在考察语文水平上吧。#include<iostream>#include<algorithm>using namespace std;int main() { int n, r; cin >> n; int num[n]; float k; for(..原创 2021-03-04 22:43:19 · 78 阅读 · 1 评论 -
C++版浙大PAT乙级1069(20分)测试点3答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805265159798784测试点3是在要跳过已中奖用户之后,间隔要从后面一位开始计算。#include<iostream>#include<map>using namespace std;int main() { int m, n, s, j, flag=0; map<string, int> mapName; cin.原创 2021-03-04 22:41:50 · 336 阅读 · 1 评论 -
C++版浙大PAT乙级1068(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805265579229184这题纸老虎啊,我以为有什么高级的算法,实际上还是一个一个遍历。#include<iostream>#include<math.h>using namespace std;int exist[20000000]={0};int main() { int m, n, flag=0, count=0, ok;..原创 2021-03-04 19:27:04 · 94 阅读 · 1 评论 -
C++版浙大PAT乙级1067(20分)测试点2、测试点5答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192一开始用cin输入每个用户的输入密码,但是忘记考虑用户输入是可能包含空格的。题中只规定了正确密码没有空格之类。所以把cin换成是getline,getline之前的cin会保留一个结束符,所以要用一个getchar去接收掉那个结束符。#include<iostream>using namespace std;int mai..原创 2021-03-03 21:24:03 · 277 阅读 · 2 评论 -
C++版浙大PAT乙级1066(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805266514558976简单题。#include<iostream>using namespace std;int main() { int m, n, a, b, k, t; cin >> m >> n >> a >> b >> k; int gra[m][n]; for(in..原创 2021-03-03 21:19:09 · 77 阅读 · 1 评论 -
C++版浙大PAT乙级1065(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805266942377984不难不难。#include<iostream>using namespace std;int main() { int n, m, k=0, pair1, pair2, people; int pair[100000], present[100000]={0}, single[100000]={0}; for(int..原创 2021-03-03 21:18:03 · 131 阅读 · 2 评论 -
C++版浙大PAT乙级1064(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336之前还以为是必须出现两次及上才能做朋友数。#include<iostream>using namespace std;int main() { int n, num[37]={0}, sum, count=0, flag=0; string str; cin >> n; for(int i=0; i&l..原创 2021-03-03 21:16:36 · 131 阅读 · 2 评论 -
C++版浙大PAT乙级1063(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805267860930560简单题。#include<iostream>#include<math.h>using namespace std;int main() { int n, shi, xu; float mo, max=0; cin >> n; for(int i=0; i<n; i++){ ci..原创 2021-03-03 21:14:44 · 115 阅读 · 1 评论 -
C++版浙大PAT乙级1062(20分)测试点1、测试点4答案错误解决方法
https://pintia.cn/problem-sets/994805260223102976/problems/994805268334886912这题我的想法是,先通分,让7/18,13/20,变成70/180,117/180,因为180可以看作12*15,因此我从71到116中找出是15的倍数的数,比如75/180就可以看坐5*15/12*15,约掉就是5/12,当然了,还是要排除这种情况,比如90/180可以看作6*15/12*15,约掉就是6/12,它们有公约数,不是最简的所以不行。.原创 2021-03-03 21:12:34 · 510 阅读 · 1 评论 -
C++版浙大PAT乙级1061(15分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805268817231872做过多选题之后,判断题就简单啦。#include<iostream>using namespace std;struct question{ int score; int answer;}ques[100];int main() { int n, m, temp; cin >> n >>..原创 2021-03-03 17:31:53 · 127 阅读 · 1 评论 -
C++版浙大PAT乙级1060(25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805269312159744为什么要把这么简单的题放到最后一道。#include<iostream>#include<algorithm>using namespace std;bool cmp(int a, int b){ return a > b;}int main() { int n, j; cin >&g..原创 2021-03-02 21:57:06 · 135 阅读 · 4 评论 -
C++版浙大PAT乙级1059(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805269828059136简单简单。#include<iostream>#include<math.h>using namespace std;bool isPrime(int a){ for(int i=2; i<=sqrt(a); i++){ if(a%i == 0){ return false; } }..原创 2021-03-02 21:56:05 · 83 阅读 · 0 评论 -
C++版浙大PAT乙级1058(20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805270356541440有点难,做了1小时18分钟。需要注意细节。#include<iostream>#include<algorithm>using namespace std;struct que{ int score; int all; int right; string str; int wrong=0;}ques.原创 2021-03-02 21:55:08 · 134 阅读 · 0 评论