PAT&PTA
本人当初本科考研前一年多自主练习的pat甲级和乙级的代码,供参考。题目不重复见链接:https://pintia.cn/problem-sets?tab=0
料理码王
什么都不会!
展开
-
随机选择算法选择第k大数
#include<cstdio>#include<ctime>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;int a[100010]={0};int kuai(int a[],int l,int r){//快速排序 int ...原创 2020-04-20 00:07:44 · 331 阅读 · 0 评论 -
选择排序
#include<cstdio>//输入若干个数字,然后排序! void xuanzesort(int* a,int n){ int i,j,k,tmp; for(i=0;i<n;i++){ k=i; for(j=k;j<n;j++){ if(a[k]>a[j]) {tmp=a[k];a[k]=a[j];a[j]=tmp;} } }}v...原创 2020-04-20 00:06:54 · 82 阅读 · 0 评论 -
产生随机数
#include<cstdio> #include<cstdlib>//随机数必备! #include<ctime>//随机数必备! #include<windows.h> #include<conio.h>#include<cstring>int main(){ int a,b,c,m,n; srand((u...原创 2020-04-20 00:05:20 · 99 阅读 · 0 评论 -
插入排序
#include<cstdio>void charusort(int* a,int n){ int i=0,j=0,k=0; for(i=1;i<n;i++){ int tmp=a[i];j=i; while(j>0&&tmp<a[j-1]){ a[j]=a[j-1]; j--; } a[j]=tmp; } } int m...原创 2020-04-20 00:04:14 · 98 阅读 · 0 评论 -
什么是two pointers
#include<cstdio>#include<algorithm>using namespace std;int a[100010]={0};int main(){ int i,j,m,n; scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%d",&a[i]); /*for(i=0...原创 2020-04-20 00:03:26 · 198 阅读 · 0 评论 -
散列用空间换时间
#include<cstdio>bool shifou[10000]={false};//如果bool改为int(并将默认值改为0)则可以用来计数! int a[10000]={0};int main(){ int n,m,b,i,j; scanf("%d%d",&n,&m); for(i=0;i<n;i++){ scanf("%d",a+i);...原创 2020-04-20 00:02:50 · 137 阅读 · 0 评论 -
B1015/A1062 德才论
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct student{ char num[10]; int de,cai,sum,sign,r;}s[100105];bool cmp(student a,student b){ if(a.si...原创 2020-04-20 00:01:49 · 108 阅读 · 0 评论 -
B1005 继续(3n+1)猜想
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;bool cmp(int a,int b){ return a>b;}int a[10005]={0};int main(){ int i=0,j=0,k=0,n=0,m[105]={0},x[1...原创 2020-04-20 00:00:51 · 100 阅读 · 0 评论 -
algorithm中的sort函数
#include<cstdio>#include<algorithm>#include<iostream>using namespace std;bool cmp(int a,int b){ return a>b;//此处为定义函数为从大到小排序; //若为a<b为从小到大排序! }int main(){ int a[100]={3...原创 2020-04-20 00:00:12 · 493 阅读 · 0 评论 -
A1048 Find Coins
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;bool cmp(int a,int b){ return a<b;}int yuan[100005]={0},a[100005]={0};int main(){ int i=0,mon,j=0,...原创 2020-04-19 23:59:16 · 117 阅读 · 0 评论 -
A1025 patranking和算法笔记的思路不同
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;struct student{ char name[15]; int s,kc,r,local;}stu[30010];//定义所有学生结构体!一定要注意这...原创 2020-04-19 23:58:17 · 137 阅读 · 0 评论 -
A1041 Be Unique(20)
#include<cstdio>#include<cstring>int b[10005]={0},c[100005]={0},num[100005]={0}; using namespace std;//注意数组空间一定要够大!!! int main(){ int i,j,k=-1,m=-1,n; char a[1010],x,y; scanf("%d",&...原创 2020-04-19 23:57:41 · 105 阅读 · 0 评论 -
统计模式串在文本串中出现的次数
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<string>using namespace std;const int maxn=1010;int next[maxn],n,num=0;void getnext(...原创 2020-04-17 03:16:43 · 303 阅读 · 0 评论 -
求不同字符串的个数
#include<cstdio>#include<vector>#include<string>#include<algorithm>#include<iostream> using namespace std;const int mod=1000000007;const int p=10000019;vector<...原创 2020-04-17 03:15:54 · 348 阅读 · 0 评论 -
利用hash求最长公共子串的长度
#include<cstdio>#include<iostream>#include<string.h>#include<queue>#include<vector>#include<algorithm>#include<map>#include<cstring>using namesp...原创 2020-04-17 03:15:11 · 451 阅读 · 0 评论 -
复习next函数
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<string>using namespace std;const int maxn=1010;int next[maxn],n,num;void getnext(ch...原创 2020-04-17 03:14:16 · 146 阅读 · 0 评论 -
二分法求回文串
#include<cstdio>#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;typedef long long ll;const ll mod=1000000007;const ll p=1...原创 2020-04-17 03:13:25 · 202 阅读 · 0 评论 -
nextval
#include<cstdio>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn=1010;int nextval[maxn];void getnextval(char s[],int len){ int j=-...原创 2020-04-17 03:12:37 · 690 阅读 · 0 评论 -
KMP算法之next函数
#include<cstdio>#include<algorithm>#include<vector>#include<string>#include<cstring> using namespace std;const int maxn=1005;int next[maxn];void getnext(char s[],...原创 2020-04-17 03:11:36 · 364 阅读 · 0 评论 -
针对queue的修改bug
#include<cstdio>#include<queue>using namespace std;struct node{ int data;}a[10];int main(){ queue<int> q; for(int i=1;i<=3;i++){ a[i].data=i; q.push(i);//改成存放数组下标! }...原创 2020-04-15 02:23:31 · 177 阅读 · 0 评论 -
dfs最后定的序列练习可重复选数字
#include<cstdio>//dfs的序列练习----可以重复选的情况 #include<vector>using namespace std;const int maxn=50;int a[maxn],n,k,x,maxsumsqu=-1;vector<int>temp,ans;void dfs(int index,int nowk,int...原创 2020-04-15 02:22:36 · 161 阅读 · 0 评论 -
dfs最后定的序列练习
#include<cstdio>#include<vector>using namespace std;const int maxn=50;int a[maxn],n,k,x,maxsumsqu=-1;vector<int>temp,ans;void dfs(int index,int nowk,int sum,int sumsqu){ if(n...原创 2020-04-15 02:22:02 · 173 阅读 · 0 评论 -
dfs学习
#include<cstdio>//未优化之前复杂度O(2^n) const int maxn=30;int n,v,maxvalue=0;int w[maxn],c[maxn];void dfs(int index,int sumw,int sumc){ if(index==n){ if(sumw<=v&&sumc>maxvalue){ ...原创 2020-04-15 02:21:25 · 105 阅读 · 0 评论 -
dfs剪枝优化
#include<cstdio>//”剪枝 “优化后的dfs算法!非极端情况下有很好的表现! const int maxn=30;int n,v,maxvalue=0;int w[maxn],c[maxn];void dfs(int index,int sumw,int sumc){ if(index==n){ return ; } dfs(index+1,sumw,...原创 2020-04-15 02:20:50 · 259 阅读 · 0 评论 -
bfs练习题1改成dfs
#include<cstdio>#include<queue>using namespace std;const int maxn=100;struct node{ int x,y;}Node;//Node是一个node型的变量 int n,m;//矩阵大小为m*n int matrix[maxn][maxn];//01矩阵 bool inq[maxn]...原创 2020-04-15 02:20:20 · 156 阅读 · 0 评论 -
bfs练习题1
#include<cstdio>#include<queue>using namespace std;const int maxn=100;struct node{ int x,y;}Node;//Node是一个node型的变量 int n,m;//矩阵大小为m*n int matrix[maxn][maxn];//01矩阵 bool inq[maxn]...原创 2020-04-15 02:19:48 · 273 阅读 · 0 评论 -
bfs练习迷宫最小步数
#include<cstdio>#include<cstring>#include<queue>using namespace std;const int maxn=100;struct node{ int x,y; int step;}S,T,Node;int n,m;char maze[maxn][maxn];bool inq[max...原创 2020-04-15 02:17:46 · 168 阅读 · 0 评论 -
cstring
#include<stdio.h>#include<cstring>int main(){ char a[220]; char b[122]; gets(a); gets(b); puts(a); puts(b); int c=strlen(a); int d=strcmp(a,b); printf("%d %d\n",c,d); strcpy(...原创 2020-04-09 09:01:54 · 182 阅读 · 0 评论 -
EOF
#include<cstdio> int main() { long long n,a[15],b[15],c[15],i,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%ll%ll%ll",a+i,b+i,c+i); if((a[i]+b[i])-c[i]>0) { prin...原创 2020-04-09 09:01:24 · 149 阅读 · 2 评论 -
floatdouble
#include<stdio.h>#include<math.h>typedef long long a;int main(){ double a=-2.445; double b=-5; printf("%d",(int)round(a)); return 0;}原创 2020-04-09 09:00:01 · 86 阅读 · 0 评论 -
A1065 AB和C 自练&大神代码
AB和C本人自练某位大神(薛玉洁)代码满分答案:自己模仿写20分:PAT官网16分:本人自练#include<cstdio>int main(){ long long a,b,c; int n,i; scanf("%lld",&n); for(i=0;i<n;i++) { scanf("%lld%lld%lld",&a,&b,&...原创 2020-03-30 09:41:00 · 330 阅读 · 0 评论 -
A1035 Password(20)
#include<cstdio>struct mima{ char user[15]={0},pass[15]={0}; int k=0;}m[1005];char a[1005];int main(){ int b=0,c=0,d=0,i=0,j=0,n=0; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%s ...原创 2020-03-30 09:38:56 · 124 阅读 · 0 评论 -
A1011 Worldcup 大神&自练代码
自练代码#include<cstdio>int main(){ int n=3,i,j; float w,t,l,a[3],b,c; char m[3]; for(i=0;i<3;i++){ scanf("%f %f %f",&w,&t,&l); if(w>t){ if(w>l) {m[i]='W';a[i]=w;}...原创 2020-03-30 09:38:00 · 124 阅读 · 0 评论 -
A1006 Sign in and Sign out 自练代码&大神代码
本人自练#include<cstdio>struct per{ int time,h,m,s,h1,m1,s1; char n[18]={0};}p[10];int main(){ int i,j,a=-1,b=9999999,c,n,time1,time2,e,f; scanf("%d",&n); for(i=0;i<n;i++){ scanf("...原创 2020-03-30 09:24:39 · 140 阅读 · 0 评论 -
A1005 Spell It Right(20)
#include<cstdio>#include<cstring>char a[12][12]={"zero","one","two","three","four","five","six", "seven","eight","nine"};char b[100000]={0};int c[5]={0};//必须定义三个数组!!其中一个是整型数组! int...原创 2020-03-30 09:16:34 · 109 阅读 · 0 评论 -
A1001 A加BFormat(20)
#include<cstdio>#include<cstring>char d[100]={0};char c[100]={0},e; int a,b,i=0,j,k,n=0,p,q,len1,len2;int main(){ scanf("%d %d",&a,&b); k=a+b; if(k<0) {printf("-"); k=-k...原创 2020-03-30 09:16:03 · 70 阅读 · 0 评论 -
A+B和C
#include<iostream>using namespace std;int main(){ long a[10]={0},b[10]={0},c[10]={0}; int d[10]={0},t=0,i=0; cin>>t; for(i=0;i<t;i++) { cin>>a[i]>>b[i]>>c[i]...原创 2020-03-30 09:15:21 · 82 阅读 · 0 评论 -
字符压缩
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int a[500]={0};char b[1005]={0};int tongji(int begin,int end){ //解压字符串计数函数 int jishu=0; for(int i=begin...原创 2020-03-30 08:33:07 · 197 阅读 · 0 评论 -
解压字符串计数函数
#include<cstdio>#include<cstring>char a[10000];int tongji(int begin,int end){ //½âѹ×Ö·û´®¼ÆÊýº¯Êý int jishu=0; for(int i=begin;i<=end;i++){ jishu*=10; jishu+=b[i]-'0'; } re...原创 2020-03-30 08:32:32 · 368 阅读 · 0 评论 -
codeup1918 简单计算器
#include<queue>#include<map>#include<stack>#include<algorithm>#include<string>#include<iostream>#include<cstdio>using namespace std;struct node{ doub...原创 2020-03-30 08:32:02 · 129 阅读 · 0 评论