- 博客(26)
- 收藏
- 关注
原创 PAT A1069
PAT A1069考察整数每一位存储到数组排序后重建整数#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int N, max = -1; scanf("%d", &N); vector <int> a, b, ans; a.resize(N); b.resize(N);
2021-03-08 14:33:11
59
原创 PAT A1101
PAT A1101在数据输入时就可以得到每一元素左边最大值;倒序遍历数组得到每一元素右边最小值。下方代码超时。。。#include<iostream>#include<vector>#include<cstdio>#include<algorithm>using namespace std;bool findmin(vector<int> a,int n){ if(n==0) return true; if(*max_ele
2021-03-08 13:56:00
64
原创 PAT A1048
PAT A1048two pointers#include<iostream>#include<cstdio>#include<vector>#include<algorithm>using namespace std;int n1,n2;vector<int> a; int main(){ int b; scanf("%d %d",&n1,&n2); for(int i=0;i<n1;i++){
2021-03-08 11:33:59
64
原创 PAT A1029
PAT A1029无脑排序输出,不超时#include<iostream>#include<cstdio>#include<vector>#include<algorithm>using namespace std;int n1,n2;vector<int> a; int main(){ int b; scanf("%d",&n1); for(int i=0;i<n1;i++){ scanf("%d",&a
2021-03-08 11:06:22
68
原创 PAT A1089
PAT A1089考察插入排序和归并排序插入排序完整执行 每一步都与中间序列对比,判断是哪种排序方式。#include<iostream>#include<cstdio>#include<vector>#include<math.h>#include<algorithm>using namespace std; //返回插入排序的下一步 int n;int isinsert(vector<int> &a,v
2021-03-08 10:44:50
82
原创 PAT A1044
PAT A1044解题思路:数组sum[i]:a[1]+a[2]+…+a[i];严格单调增加。所以本题就变为寻找sum[j]-sum[i]等于定值或略大于定值时i,j的值,然后输出i,j。upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。lower_bound( begin,end,num):从数组的begin位置
2021-03-07 17:24:15
100
原创 PAT A1031
PAT A1031#include<iostream> #include<cstdio> using namespace std;int main(){ string a; cin>>a; int n=a.length(); int n1,n2,n3; n1=n/2; //left n2=n/2; //right n3=(n%2==0)?2:3; //bottom while(n3<n1){ n1--; n2
2021-03-06 14:42:46
54
原创 PAT A1042
PAT A1042题目倒是也不难就是找bug太辛苦了。。。数据贼多。。。注意sort(&a[1],&a[55],cmp) 排序范围是左闭右开区间。核心逻辑:bool cmp(data a,data b){ return a.rank<b.rank;}for(int j=0;j<n;j++){ sort(&a[1],&a[55],cmp); for(int i=1;i<=54;i++){ a[i].rank=r[i]; }}
2021-03-06 10:56:37
64
原创 PAT A1043
PAT A1043题意要看懂,镜像树与原树的先后序遍历有区别镜像树先后序遍历均先遍历右子树。考点:建树、插入、先后序遍历;#include<vector>#include<cstdio>#include<iostream>using namespace std;int data[1100];struct node{ int d; node* left; node* right;};void insert(node* &root,
2021-03-05 11:13:34
60
原创 PAT 甲级1060
PAT A1060函数形参实参问题要注意。0000 0000.00 对于设及0的问题要特判,这应该是oj最后一个点。核心逻辑代码如下。#include<iostream>#include<string>using namespace std;string deal(string a,int& e){ int k=0; while(a[0]=='0' && a.length()>0){ a.erase(a.begin()); }
2021-03-04 10:53:31
94
1
原创 PAT甲级1015
PAT甲级1015很简单的一道题,只需要注意0,1,2的问题就可以了,读入数据由于是读到负数结束所以可以采用while循环,两个进制转换函数,一个判断是否是素数的函数就可以解决问题,范围int类型足够。但是,注意细节!!!!!!!!!!!!!!尤其放在考试的时候!!!!!!!!我就是少了一个等号,而没有读入0,而找了很久的bug。。。。。。。。。。代码没有借鉴的意义,很繁琐,待我第二遍刷题库...
2019-10-19 23:31:47
169
原创 PAT甲级1012
PAT甲级1012这是一道让我想放弃的题。。。。。。因为没有好好读题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。算法不难就是很恶心,很复杂,需要很多排序。。。。#include<iostream>using...
2019-10-18 20:38:19
131
原创 PAT甲级1011
PAT甲级1011#include<iostream>#include<stdio.h>using namespace std;double findmax(double a,double b,double c,int &n){ double m; if(a>b){ m=a; n=0; }else{ m=b; n=1; } i...
2019-10-14 11:26:38
65
原创 PAT甲级1010
PAT甲级1010#include<iostream>#include<string> #include<math.h>using namespace std;long long ten(string n,long long r){ long long x=0; for(int i=0;i<n.length();i++){ if(n[i]...
2019-10-11 16:26:27
76
原创 PAT甲级1009
PAT甲级1009#include<iostream>#include<stdio.h>using namespace std;struct po{public: int a; double b;};int main(){ int n1,n2; double s[2001]={0}; po p1[1000],p2[1000]; cin>>...
2019-10-05 11:15:20
162
原创 PAT甲级1008
PAT甲级1008#include<iostream>using namespace std;int main(){ int n; int a[101]={0}; int sum=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ if(...
2019-10-04 22:53:14
64
原创 PAT甲级1007
PAT甲级1007#include<iostream>using namespace std;int main(){ int n; int a[100000]={0}; int i,j,k,lg=0; int min=-1; int sum=0; int start=0,end=0; cin>>n; for(i=0;i<n;i++){ cin...
2019-10-03 23:02:48
65
原创 PAT甲级1006
PAT甲级1006#include<iostream>#include<stdio.h>#include<string> using namespace std;struct people{public: string id; string in; string out;};int main(){ string max="23:59:59...
2019-10-02 17:04:49
73
原创 PAT甲级1005
PAT甲级1005#include<iostream>#include<stdio.h>#include<string> using namespace std;int main(){ int s[1000]={0}; string m; cin>>m; int n=0; int sum=0; if(m[0]=='0'){ ...
2019-10-02 16:01:39
121
原创 PAT甲级1002
PAT甲级1002题不得不说坑是真的多。。。 题目要求看似很简单,给出两个多项式,每一行第一个数字是非零项个数(项数),然后紧接每一项的幂和系数,要求进行简单的多项式合并。重点来了!!!结果多项式要按幂从大到小排列,这个可能很多人会看出来,因为样例也是按幂从大到小排列。如果观察到这个规律,那算法可以用这样的:while(i<n1 && j<n2){ if(s...
2019-08-19 16:21:01
272
1
原创 PAT甲级1001
PAT 甲级1001c++#include<iostream> #include<math.h>using namespace std;int main(){ int a,b,c,i=0; int d[100]; cin>>a; cin>>b; c=a+b; if(c<0){ cout<<'-'; c=...
2019-08-15 13:36:02
56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人