![](https://img-blog.csdnimg.cn/20210129121256295.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT-并查集 简单模拟 数学问题
分类整理 志在必得
江船夜雨听笛
我无法原谅 什么都不做 却抱有期待的自己 行动起来 必须行动起来
展开
-
pat-1132
#include<bits/stdc++.h>using namespace std;int main(){ int n; string a; scanf("%d",&n); for(int i=0;i<n;i++){ cin>>a; long long int aa=stoi(a); long long int a1=stoi(a.substr(0,a.size()/2)) ; long long int b1=stoi(a.substr.原创 2021-02-01 20:28:18 · 85 阅读 · 0 评论 -
pat-1088
#include<bits/stdc++.h>using namespace std;long long gcd(long long a,long long b){ return !b?a:gcd(b,a%b);} struct frac{ long long up,down;};frac redu(frac a){ if(a.down<0){ a.down=-1*a.down; a.up=-1*a.up; } if(a.up==0){ a.down=1.原创 2021-02-01 20:02:47 · 98 阅读 · 2 评论 -
pat-1081
#include<bits/stdc++.h>using namespace std;long long gcd(long long a,long long b){ return !b?a:gcd(b,a%b);// gcd(a,b)=gcd(b,a%b)}struct fraction{ long long up,down;};fraction reduction(fraction a){ if(a.down<0){//分母为负数时 分子分母同时加负号 .原创 2021-02-01 17:35:37 · 59 阅读 · 1 评论 -
pat-1069
#include<bits/stdc++.h>using namespace std;bool cmp(char &a,char &b){//ru go ni fa xm type my yb wf ti y gl ui wh da1 using namespace std ; return a>b;}using namespace std;int main(){ string a; cin>>a; int result; a.insert.原创 2021-02-01 16:00:01 · 112 阅读 · 0 评论 -
pat-1060
#include<bits/stdc++.h>using namespace std;int main(){ int n; char a[10000],b[10000],ansa[10000],ansb[10000]; scanf("%d%s%s",&n,&a,&b); int cnta=strlen(a),cntb=strlen(b);//没有小数点就默认为在最后面 for(int i=0;i<strlen(a);i++){ if(a[i]==.原创 2021-02-01 11:48:56 · 70 阅读 · 0 评论 -
pat-1059
#include<bits/stdc++.h>using namespace std;const int maxn=100010;//判断是否是素数 bool isprime(int n){ if(n<=1) return false;//特判 int tt=(int)sqrt(n*1.0); for(int i=2;i<=tt;i++){ if(n%i==0){ return false; } } return true;}//建立素数.原创 2021-02-01 00:33:34 · 93 阅读 · 0 评论 -
pat-1058
#include<bits/stdc++.h>using namespace std;int main(){ long long int _11,_12,_13,_21,_22,_23; scanf("%lld.%lld.%lld",&_11,&_12,&_13); scanf("%lld.%lld.%lld",&_21,&_22,&_23); long long int _33=_13+_23; long long int car.原创 2021-01-31 20:48:54 · 55 阅读 · 1 评论 -
pat-1049
#include<bits/stdc++.h>using namespace std;int main(){ int n,a=1,now,right,left,num=0; scanf("%d",&n); while(n/a){ left=n/(a*10);now=n/a%10;//我们要的是当前位的数字 right=n%a;//就是右边那些数 if(now==0){ num+=left*a; } else if(now==1){ num+=.原创 2021-01-31 19:43:39 · 86 阅读 · 0 评论 -
pat-1027
#include<bits/stdc++.h>using namespace std;int arr[2];int main(){ char p[4]="ABC" ;//减10//需要加大括号 //char型数组存疑 int a[3]; scanf("%d%d%d",&a[0],&a[1],&a[2]); printf("#"); for(int i=0;i<3;i++){ int cnt=1; while(a[i]!=0){.原创 2021-01-31 17:09:27 · 57 阅读 · 0 评论 -
pat-1024 测试点568
#include<bits/stdc++.h>struct bign{ int d[1000]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};//结构体外面加; 不然下面不出东西打了点之后 bign change(char a[]){ bign c; c.len=strlen(a); for(int i=0;i<c.len;i++){ c.d[c.len-1-i]=a[i]-'0';//没有减去'0.原创 2021-01-31 16:38:41 · 244 阅读 · 1 评论 -
pat-1023
#include<bits/stdc++.h>using namespace std;struct bign{ int d[1000]; int len; bign(){//结构体中利用同名构造函数初始化 memset(d,0,sizeof(d)); len=0; }}; bign change(char a[]){ bign b; b.len=strlen(a);//首先他们的长度是相同的 for(int i=0;i<b.len;i++){ b.d.原创 2021-01-31 12:01:35 · 67 阅读 · 2 评论 -
pat-1015
#include<iostream>#include<cmath>using namespace std;bool isprime(int a){ int ax=sqrt(a*1.0); if(a<=1) return false;// 判断素数<=1的要特别判断 for(int i=2;i<=ax;i++){//素数编写有等于号 小于等于 if(a%i==0) return false; } return true; }int.原创 2021-01-31 00:46:02 · 91 阅读 · 1 评论 -
pat-1019
#include<iostream>#include<cmath>using namespace std;int arr[40]={0};//40是根据n的最大值b的最小值算的一个需要的上界 int main(){ int n,b; scanf("%d%d",&n,&b); //int cnt=1;/* while(pow(b,cnt)<n) cnt++; int a[cnt]; for(int i=cnt-1;i>=0;i.原创 2021-01-30 23:11:25 · 66 阅读 · 0 评论 -
pat-1008
#include<iostream>using namespace std;int main(){ int n,temp1,now=0,sum=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&temp1); if(temp1>now){ sum+=(temp1-now)*6; } else if(temp1<now){ sum+=(now-temp1)*4; .原创 2021-01-30 21:38:01 · 64 阅读 · 0 评论 -
pat-1009
#include<iostream>using namespace std;double arr[1001]={0.0},ans[2001]={0.0};int main(){ int n1,n2,_1; double _2; scanf("%d",&n1); for(int i=0;i<n1;i++){ scanf("%d%lf",&_1,&_2); arr[_1]=_2; } scanf("%d",&n2); for(int.原创 2021-01-30 17:47:19 · 90 阅读 · 0 评论 -
pat-1042
#include<iostream>using namespace std;int a[55],start[55],eend[55];int main(){ int n; scanf("%d",&n); for(int i=1;i<55;i++){ scanf("%d",&a[i]); } for(int i=0;i<55;i++){ start[i]=i; eend[i]=i; } for(int i=0;i<n;i++){.原创 2021-01-30 15:55:05 · 69 阅读 · 0 评论 -
pat-1046
#include<iostream>using namespace std;int main(){ int n; scanf("%d",&n); int dir[n+1],sum=0,temp; dir[0]=0; for(int i=1;i<=n;i++){ scanf("%d",&temp); sum+=temp; dir[i]=sum;//i i+1 } int m; scanf("%d",&m); for(int i=0.原创 2021-01-30 12:17:32 · 449 阅读 · 0 评论 -
pat-1065
#include<iostream>using namespace std;int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ long long int a,b,c; scanf("%lld%lld%lld",&a,&b,&c); long long int sum=a+b; if(a>0&&b>0&&sum<=0){ .原创 2021-01-30 11:37:05 · 69 阅读 · 0 评论 -
pat-1104
#include<iostream>#include<cmath>#include<vector>using namespace std;int main(){ int n; scanf("%d",&n); long double _1; long double sum=0,pre; for(int i=1;i<=n;i++){ scanf("%Lf",&_1); sum+=_1*i*(n-i+1);//片段 } /.原创 2021-01-30 11:13:36 · 68 阅读 · 0 评论 -
pat-1105
#include<iostream>#include<cmath>#include<vector>#include<algorithm>using namespace std;vector<int> v;bool cmp(int a,int b){ return a>b;}int main(){ int n,temp1; scanf("%d",&n); for(int i=0;i<n;i++){ .原创 2021-01-30 00:38:57 · 96 阅读 · 1 评论 -
pat-1107
#include<iostream>#include<vector>#include<algorithm>using namespace std;int fa[1009]={0},exist[1009]={0},book[1009]={0};int findfa(int x){ int a=x; while(x!=fa[x]){ x=fa[x]; } while(a!=fa[a]){ int z=a; a=fa[a]; fa[z]=x;.原创 2021-01-29 22:20:56 · 90 阅读 · 0 评论 -
pat-1114
#include<iostream>#include<algorithm>#include<vector>using namespace std;int fa[10000]={0},exist[10000]={0};int bookminroot[10000]={0};int bookk[10000]={0};int booknum[10000]={0};double bookvs[10000],bookva[10000];struct condi{.原创 2021-01-29 20:37:55 · 62 阅读 · 0 评论 -
pat-1118
#include<iostream>using namespace std;int fa[10009];//10^4 4个0后面 bool exist[10009]={false};int book[10009]={0};//记录每棵树的个数,只有根可以在里面进行赋值,赋值为其数目 int findfa(int x){ int a=x; while(x!=fa[x]){ x=fa[x]; } while(a!=fa[a]){ int z=a; a=fa[a];.原创 2021-01-29 17:18:04 · 71 阅读 · 0 评论