![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
Minorui
我希望每个人都能以各自的形态,自由生活。而不是千方百计把自己塞进方方正正的模具,压缩成同样形状的罐头。我希望当我年老之后,不会再深夜入睡时,枕头里装满了发霉的梦!
展开
-
PTA L1-039
L1-039. 古风排版时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后...原创 2018-03-25 17:39:34 · 270 阅读 · 0 评论 -
PAT 乙级 1022
最近写pat总是有一点错误,还是没有大局观。不细心这回把0这种请况给漏了·!#includeusing namespace std;char c[2000];int i=0;void trans(long long x,long long y){ while(x) { c[i++]=char(x%y+'0'); x/=y; }}int main()原创 2017-09-01 21:29:26 · 165 阅读 · 0 评论 -
PAT 乙级 1021
#includeusing namespace std;int main(){ string s; cin>>s; int c[1000]={0}; for(int i=0;i<s.length();i++) { c[s[i]-'0']++; } for(int i=0;i<10;i++) { if(c[i]>0) printf("%d:%d\n",i原创 2017-09-01 21:08:17 · 184 阅读 · 0 评论 -
PAT 乙级 1020
这一题我有一个地方过不了,感觉是整数相除精度缺失,我把俩个类型改成double就交ac了。hdu 的fatmouse这一题跟着类似。#include#includeusing namespace std;struct moon{ double kc; double sj; double average; };bool cmp(moon a, moon b){ return原创 2017-09-01 20:57:23 · 345 阅读 · 0 评论 -
PAT 乙级 1019
当且仅当差为6174才不满足循环条件;#include#includeusing namespace std;bool cmp(int a,int b){ return a>b;}int main(){ int a[4]; int n; cin>>n; a[0]=n/1000; a[1]=n/100%10; a[2]=n/10%10; a[3]=n%10; i原创 2017-08-31 19:12:19 · 272 阅读 · 0 评论 -
PAT 乙级 1018
特别注意的是在一方哪种情况下都没赢时,输出B#include#include#includeusing namespace std;int main(){ int n; cin>>n; int m=n; char a,b; int a1=0,a2=0,a3=0; int g[100]={0}; int h[100]={0}; while(n--) {原创 2017-08-31 18:20:40 · 252 阅读 · 0 评论 -
PAT 乙级 1034
这个题还是给大神把:传送门:http://blog.csdn.net/plank_root/article/details/51330891#include typedef struct frac_{long n, d, s;} FC;// 求最大公约数的函数long gcd(long a, long b) {return b == 0 ? a : gcd(b, a % b转载 2017-09-09 10:02:08 · 494 阅读 · 0 评论 -
PAT 乙级 1033
用数组我的程序运行超时,所以用string,要注意的是几个条件我在代码中标出来了。#includeusing namespace std;int main(){ string s1; string s2; getline(cin,s1); getline(cin,s2); if(s1.length()==0) { cout<<s2; return 0;原创 2017-09-08 21:44:47 · 307 阅读 · 0 评论 -
PAT 乙级 1032
不难#includeusing namespace std;struct nood{ int a,b;};bool cmp(int a,int b){ return a>b;}int main(){ nood c[100000]; int n; cin>>n; int g,h; int sum[100000]={0}; for(int i=0;i<n;i原创 2017-09-08 19:35:38 · 189 阅读 · 0 评论 -
PAT 乙级 1031
最近写代码老不在状态,这种题都要花很多时间#includeusing namespace std;int main(){ int n; cin>>n; int m=n; string s; int k=0; char c[11]={'1','0','X','9','8','7','6','5','4','3','2'}; while(m--) { int s原创 2017-09-08 16:30:48 · 191 阅读 · 0 评论 -
PAT 乙级 2023
#includeusing namespace std;int main(){ int a[10]; for(int i=0;i<10;i++) cin>>a[i]; for(int i=1;i<10;i++) { if(a[i]!=0) { cout<<i; a[i]--; break; } } for(int i=0;i<10;i++)原创 2017-09-01 21:39:14 · 357 阅读 · 0 评论 -
PTA 02-线性结构2 一元多项式的乘法与加法运算
02-线性结构2 一元多项式的乘法与加法运算(20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结原创 2017-09-20 00:11:45 · 324 阅读 · 0 评论 -
PTA 03-树1 树的同构(25 分)
#include#define Maxsize 10using namespace std;struct TreeNode{ int left; int right; char index;}T1[Maxsize],T2[Maxsize];int isomorphic(int R1,int R2){ if((R1==-1)&&(R2==-1)) return 1;原创 2017-11-02 20:38:37 · 416 阅读 · 0 评论 -
PAT L1-013
#include<iostream>#include<algorithm>using namespace std;int main(){ int n; cin>>n; long long sum=0; for(int i=1;i<=n;i++) { long long int count=1; ...原创 2018-03-10 16:53:21 · 216 阅读 · 0 评论 -
PAT L1-012
#include<iostream>#include<algorithm>using namespace std;int main(){ int n; cin>>n; long long sum=1; for(int i=0;i<n;i++) { sum*=2; } printf("2^%d =...原创 2018-03-10 16:48:34 · 200 阅读 · 0 评论 -
PAT L1-010
#include<iostream>#include<algorithm>using namespace std;int main(){ int a[3]; cin>>a[0]>>a[1]>>a[2]; sort(a,a+3); printf("%d->%d->%d\n",a[0],原创 2018-03-10 16:43:46 · 193 阅读 · 0 评论 -
PAT L1-007
#include<iostream>#include<string.h>using namespace std;int main(){ char s[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba"原创 2018-03-10 16:38:32 · 141 阅读 · 0 评论 -
PAT L1-005
结构体是个好东西#include<iostream>#include<string.h>using namespace std;struct student{ long long number; int pretest; int test;}Stu[1000];int main(){ int n; cin>>n; for(int i=0...原创 2018-03-09 17:05:43 · 193 阅读 · 0 评论 -
PAT L1-004
#include<iostream>#include<string.h>using namespace std;int main(){ int F; cin>>F; int c=0; c=5*(F-32); c=c*1.0/9; printf("Celsius = %d\n",c); return 0;}原创 2018-03-09 09:54:36 · 174 阅读 · 0 评论 -
PAT L1-003
#include<iostream>#include<string.h>using namespace std;int main(){ char s[1000]; cin>>s; int lengh=strlen(s); int count[10]; memset(count,0,sizeof(count)); for(int i=0;i&...原创 2018-03-09 09:45:13 · 139 阅读 · 0 评论 -
PAT L1-002
#include<iostream>using namespace std;int main(){ int n; char charlator; cin>>n>>charlator; int count=1; int restof=0; int k=1; for(int i=1;;i++) { if(n>=2*(2*i+1)+c...原创 2018-03-09 09:27:14 · 192 阅读 · 0 评论 -
PAT 乙级 1030
简化第二层循环的次数就行了,还有两数相乘范围超过int#include#include#define maxn 100005using namespace std;double a[maxn];int main(){ int n;double p; cin>>n>>p; for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n);原创 2017-09-08 15:46:07 · 176 阅读 · 0 评论 -
PAT 乙级 1017
#include#includeusing namespace std;int main(){ char a[1010]; int b; scanf("%s",a); scanf("%d",&b); //cout<<b<<endl; char c[1010]; int len=strlen(a); int k=0; int j=0;; for(int i=0;i<le原创 2017-08-30 21:44:23 · 288 阅读 · 0 评论 -
PAT 乙级 1010
这题的难点就是,如果一组数中有大于零次项的存在,那么零次项会被忽略,否则输出0 0.一定不是,当系数和项数都为零时就输出0 0;#includeusing namespace std;int main(){ int m,n; int flag=0; while(cin>>m>>n) { if(n>0) { if(!flag) {原创 2017-08-18 18:20:57 · 188 阅读 · 0 评论 -
PAT 乙级 1009
#includeusing namespace std;int main(){ string s[85]; string c; int k=0; while(getline(cin,c)) { for(int i=0;i<c.length();i++) { if(c[i]!=' ') s[k]+=c[i]; else { k++;原创 2017-08-18 15:53:38 · 133 阅读 · 0 评论 -
PAT 乙级 1008
#includeusing namespace std;int main(){ int n,m; cin>>n>>m; int a[105]; for(int i=0;i<n;i++) cin>>a[i]; m=m%n;//步骤尽量少; if(m==0) { cout<<a[0]; for(int i=1;i<n;i++) cout<<" "<<a[i]原创 2017-08-18 15:35:48 · 304 阅读 · 1 评论 -
PAT 乙级 1007
打表,判断!#include#includeusing namespace std;int main(){ int n; cin>>n; int flag=0,k=0,count=0; int a[100000]; for(int j=2;j<=n;j++) { flag=0; for(int i=2;i<=sqrt(j);i++) { if(原创 2017-08-18 15:15:53 · 129 阅读 · 0 评论 -
PAT 乙级 1006
#includeusing namespace std;int main(){ int n; cin>>n; int m,sum=0; m=n; while(m) { m=m/10; sum++; } for(int i=sum;i>=1;i--) { if(i==3) { for(int j=1;j<=n/100;j++) co原创 2017-08-18 11:40:59 · 138 阅读 · 0 评论 -
PAT 乙级 1005
这一题我犯了两个错误:1 把a数组想当然的设置为100,但当某个数乘以3就超过了100.2 把题理解错了,是除后再加一。#include#include#includeusing namespace std;int main(){ int n; cin>>n; int a[10000]={0},b[105]; memset(a,0,sizeof(a)); f原创 2017-08-17 11:53:57 · 157 阅读 · 0 评论 -
PAT 乙级 1004
这题用结构体c++真的很简单;#include#includeusing namespace std;struct nood{ string s1; string s2; int grade;}stu[1000];bool cmp(nood a,nood b){ return a.grade>b.grade;}int main(){ int n; ci原创 2017-08-17 10:20:39 · 186 阅读 · 0 评论 -
PAT 乙级 1003
老实说,开始并没有看懂第三个条件什么意思,然后就百度了一下。原来只要‘P’不在第一个就满足:p前面A的个数乘以PT之间A的个数等于T后面A的个数。#includeusing namespace std;int main(){ int n; cin>>n; while(n--) { string s; cin>>s; int flag=0; for(i原创 2017-08-17 09:57:58 · 130 阅读 · 0 评论 -
PAT 乙级 1002
#includeusing namespace std;int main(){ string s; cin>>s; int a[10]={0}; for(int i=0;i<s.length();i++) { a[s[i]-'0']++; } int sum=0; for(int i=0;i<10;i++) { sum+=a[i]*i; } //cout<<s原创 2017-08-16 21:19:13 · 119 阅读 · 0 评论 -
PAT 乙级 1011
#includeusing namespace std;int main(){ int t; cin>>t; for(int i=1;i<=t;i++) { long long a,b,c; cin>>a>>b>>c; cout<<"Case #"; cout<<i<<": "; if(a+b>c) cout<<"true"<<endl; el原创 2017-08-19 10:21:19 · 172 阅读 · 0 评论 -
PAT 乙级 1012
就是一项一项的处理就好了#includeusing namespace std;int main(){ int n; cin>>n; int m; int a[1005]; a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=0; int k=0; int flag=1; while(n--) { cin>>m; if(m%5==0&&m%2=原创 2017-08-20 10:01:44 · 166 阅读 · 0 评论 -
PAT 乙级 1013
这题我用打表的方法,经过几次wa之后,把数字终于调试好了;#include#includeusing namespace std;int a[90005];int main(){ int k=1; int flag; for(int i=2;i<=120000;i++) { flag=0; for(int j=2;j<=sqrt(i);j++) {原创 2017-08-20 10:25:50 · 143 阅读 · 0 评论 -
PAT 乙级 1029
把小写改成大写就好办多了#includeusing namespace std;int main(){ string s1,s2; cin>>s1>>s2; char c[200]; int flag; int k=0; for(int i=0;i<s1.length();i++) { flag=0; if(s1[i]>='a'&&s1[i]<='z')原创 2017-09-07 20:23:44 · 267 阅读 · 0 评论 -
PAT 乙级 1028
一开始我是用string字符串做的,但只得到15分,最后是运算超时。贴一下代码:#include#define maxn 100005 using namespace std;struct nood{ string name; string days; int num; };int main(){ int n; nood c[maxn]; cin>>n; //s原创 2017-09-06 00:26:43 · 251 阅读 · 0 评论 -
PAT 乙级 1027
#includeusing namespace std;int main(){ int n; char c; cin>>n>>c; int sum=0; int pr=0; int j; if(n>=7) { for(int i=3;i<=n/2;i+=2) { sum+=i*2; if(sum<=n-1) {原创 2017-09-05 20:51:58 · 286 阅读 · 0 评论 -
PAT 乙级 1025
大神的代码#include #include using namespace std;int main() { int first, k, n, temp; cin >> first >> n >> k; int data[100005], next[100005], list[100005]; for (int i = 0; i < n; i++转载 2017-09-05 11:17:10 · 361 阅读 · 0 评论 -
PAT 乙级 1016
#includeusing namespace std;int main(){ string a,b; int Da,Db; int m1=1,m2=1; long long Pa=0,Pb=0; cin>>a>>Da>>b>>Db; for(int i=0;i<a.length();i++) { if(a[i]-'0'==Da) { Pa+=Da*m1;原创 2017-08-22 21:54:30 · 171 阅读 · 0 评论