![](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 · 276 阅读 · 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 · 171 阅读 · 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 · 210 阅读 · 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 · 350 阅读 · 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 · 299 阅读 · 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 · 257 阅读 · 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 · 498 阅读 · 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 · 308 阅读 · 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 · 212 阅读 · 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 · 198 阅读 · 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 · 366 阅读 · 0 评论 -
PTA 02-线性结构2 一元多项式的乘法与加法运算
02-线性结构2 一元多项式的乘法与加法运算(20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结原创 2017-09-20 00:11:45 · 332 阅读 · 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 · 421 阅读 · 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 · 224 阅读 · 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 · 208 阅读 · 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 · 201 阅读 · 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 · 146 阅读 · 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 · 202 阅读 · 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 · 182 阅读 · 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 · 145 阅读 · 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 · 219 阅读 · 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 · 182 阅读 · 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 · 299 阅读 · 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 · 210 阅读 · 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 · 139 阅读 · 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 · 327 阅读 · 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 · 152 阅读 · 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 · 163 阅读 · 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 · 182 阅读 · 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 · 194 阅读 · 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 · 136 阅读 · 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 · 124 阅读 · 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 · 196 阅读 · 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 · 176 阅读 · 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 · 146 阅读 · 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 · 290 阅读 · 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 · 261 阅读 · 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 · 296 阅读 · 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 · 385 阅读 · 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 · 185 阅读 · 0 评论