PTA
PTA刷题记录,备战天梯赛
Eternity_GQM
ICPC铁牌选手,努力向上的研0软工蒟蒻,欢迎私信评论交流!!!
展开
-
【PTA乙级】【1039 到底买不买 (20 分)】
2022年3月10日17:46:04文章目录2022年3月10日17:46:041039 到底买不买 (20 分)1.【题目描述】2.【题解】1039 到底买不买 (20 分)1.【题目描述】题目链接小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符原创 2022-03-17 20:25:02 · 96 阅读 · 0 评论 -
【PTA乙级】【1042 字符统计 (20 分)】
2022年3月6日22:43:57文章目录2022年3月6日22:43:571042 字符统计 (20 分)1.【题目描述】2.【题解】1042 字符统计 (20 分)1.【题目描述】题目链接请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。原创 2022-03-17 20:15:35 · 93 阅读 · 0 评论 -
【GPLT】【2021天梯赛真题题解】【231分】
文章目录L1-1 人与神 (5 分)题目描述题目分析L1-2 两小时学完C语言 (5 分)题目描述题目分析L1-3 强迫症 (10 分)题目描述题目分析L1-4 降价提醒机器人 (10 分)题目描述题目分析L1-5 大笨钟的心情 (15 分)题目描述题目分析L1-6 吉老师的回归 (15 分)题目描述题目分析L1-7 天梯赛的善良 (20 分)题目描述题目分析L1-8 乘法口诀数列 (20 分)题目描述题目分析L2-1 包装机 (25 分)题目描述题目分析L2-2 病毒溯源 (25 分)题目描述题目分析L2原创 2022-03-17 20:06:18 · 10691 阅读 · 3 评论 -
【PTA乙级】【1106 2019数列 (15 分)】
2022年3月6日23:11:27文章目录2022年3月6日23:11:271106 2019数列 (15 分)1.【题目描述】2.【题解】1106 2019数列 (15 分)1.【题目描述】题目链接把 2019 各个数位上的数字 2、0、1、9 作为一个数列的前 4 项,用它们去构造一个无穷数列,其中第 n(>4)n(>4)n(>4) 项是它前 4 项之和的个位数字。例如第 5 项为 2, 因为 2+0+1+9=12,个位数是 2。本题就请你编写程序,列出这个序列的前 nn原创 2022-03-06 23:16:22 · 302 阅读 · 0 评论 -
【PTA乙级】【1101 B是A的多少倍 (15 分)】
2022年3月6日22:43:57文章目录2022年3月6日22:43:571101 B是A的多少倍 (15 分)1.【题目描述】2.【题解】3.【补充知识】1. substr ;2.字符串转数字&&数字转字符串;函数实现使用流实现1101 B是A的多少倍 (15 分)1.【题目描述】题目链接设一个数 AAA 的最低 DDD 位形成的数是 ada_dad 。如果把 ada_dad 截下来移到 AAA 的最高位前面,就形成了一个新的数 BBB。BBB 是 AAA 的多少倍?例如原创 2022-03-06 23:09:40 · 589 阅读 · 0 评论 -
【PTA乙级】【1096 大美数 (15 分)】
2022年3月6日22:23:47文章目录2022年3月6日22:23:471096 大美数 (15 分)1.【题目描述】2.【题解】1096 大美数 (15 分)1.【题目描述】题目链接若正整数 NNN 可以整除它的 4 个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。输入格式:输入在第一行中给出正整数 K(≤10)K(≤10)K(≤10),随后一行给出 KKK 个待检测的、不超过 10410^4104 的正整数。输出格式:对每个需要检测原创 2022-03-06 22:39:26 · 531 阅读 · 0 评论 -
2021-11-07 【第八届算法大赛部分题解】
7-1 选举让我们解决第一个候选人的问题,为了赢得选举,他需要比其他候选人至少多获得1张选票。因此,第一个候选人至少需要获得 max(b,c)+1max(b,c)+1max(b,c)+1 票。 如果 aaa 已经大于这个值,那么你不需要添加任何投票,否则你需要添加 max(b,c)+1−amax(b,c)+1−amax(b,c)+1−a 票。 所以第一个候选的答案是 max(0,max(b,c)+1−a)max(0,max(b,c)+1−a)max(0,max(b,c)+1−a)。类似地,第二个候选人的原创 2021-11-09 21:23:38 · 269 阅读 · 0 评论 -
2021-10-26【编写万年历】
编写万年历1.目的: 培养逻辑思维的严密性 提高利用C语言进行程序设计的能力2.要求:(1)输入年份,判断是否为闰年(2)输入年月日,判断是星期几(3)输入年份,打印出12个月的月历(4)输入年月,打印出本月的日历#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef long double ld;typedef pair<int, int> pii;con原创 2021-10-26 16:28:18 · 815 阅读 · 0 评论 -
2021-10-25【PTA】【7-4 计算三角形的面积 (15 分)】
7-4 计算三角形的面积 (15 分)简单描述方法用到一点点的线代知识,两个向量的叉乘表示两向量为边的四边形的面积所以三角形面积为任意两点的坐标叉乘后等到的向量取模的一半点乘叉乘#include<bits/stdc++.h>using namespace std;void solve(){ int a, b, c, q, w, e; cin >> a >> b >> c; cin >> q >原创 2021-10-25 23:49:19 · 987 阅读 · 0 评论 -
2021-10-25【PTA】【7-5 复数四则运算 (15 分)】
7-5 复数四则运算 (15 分)码农问题#include<stdio.h>#include<stdlib.h>typedef struct node{ double a; double b;}fu;int pan(double a, double b) //判断实部和虚部是否为零{ if(a==0&& b!=0) return 1; else if(a!=0 && b==0)原创 2021-10-25 23:42:09 · 474 阅读 · 0 评论 -
2021-10-09 【PTA】【乙级】【题解5】
1012 数字分类 (20 分)#include <bits/stdc++.h>using namespace std;//1012 数字分类 (20 分)int main(){ int A1 = 0, A2 = 0, A3 = 0, A5 = 0; double A4 = 0.0; int a; int k = 1; int cntA2 = 0, cntA4 = 0; int N; cin >> N; /原创 2021-10-09 18:04:54 · 155 阅读 · 0 评论 -
2021-10-09 【PTA】【乙级】【题解4】
1003我要通过!#include<bits/stdc++.h>using namespace std;//1003我要通过!int main() { string str; int n; cin >> n; for(int i = 0; i < n; i++) { cin >> str; int loc_p = -1, nump = 0, numt = 0, loc_t = -1, numa = 0; int l原创 2021-10-09 18:04:39 · 131 阅读 · 0 评论 -
2021-10-09 【PTA】【乙级】【题解3】
1015 德才论 (25 分)#include<bits/stdc++.h>using namespace std;//1015 德才论 (25 分)struct student{ string id; int de, cai, sum; int flag;} stu[100010];bool cmp(student a,student b){ if(a.flag!=b.flag) return a.flag < b.flag;原创 2021-10-09 18:01:58 · 159 阅读 · 0 评论 -
2021-10-09 【PTA】【乙级】【题解2】
1093 字符串A+B (20 分)//1093 字符串A+B (20 分)#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); string s1, s2, s; int hash[200] = {0}; getline(cin, s1); getline(cin, s2); s = s1 + s2; //哈希去重 .原创 2021-10-09 18:00:51 · 103 阅读 · 0 评论 -
2021-10-09 【PTA】【乙级】【题解1】
【有问题评论区留言】1028 人口普查 (20 分)#include <iostream>using namespace std;//1028 人口普查 (20 分)int main() { int n, cnt = 0; cin >> n; string name, birth, maxname, minname, maxbirth = "1814/09/06", minbirth = "2014/09/06"; for (int i =原创 2021-10-09 17:58:16 · 145 阅读 · 0 评论 -
2021-8-25【PTA】【九连环问题】
九连环是一种流传于山西省的传统民间的智力玩具,由九个圆环相连成串,以解开为胜。九连环的九个环,一环扣一环地套在钗上。除了第 1 号环可以随时装上或卸下以外,其它环装上或卸下的条件是:在它的前面仅有紧靠它那一个环在钗上。即:当第 1 ~ i−2 号环都不在钗上,第 i−1 号环在钗上,这时可以装上或卸下第 i 号环。输入格式环数 操作(U表示装上, D表示卸下)输出格式装上或卸下九连环的操作步骤每行显示一步操作,具体格式为:环号: U或D (U表示装上,D表示卸下)#include<s原创 2021-08-25 18:33:11 · 2434 阅读 · 0 评论 -
2021-8-25【PTA】【每日题解】
换算英尺英寸 (15 分)#include<bits/stdc++.h>using namespace std;int foot,inch;int n;int main(){ cin>>n; double t=n*1.0/30.48; foot=(int)t; inch=(t-foot)*12; cout<<foot<<" "<<inch;} 然后是几点 (15 分)#include<bits/stdc++.h原创 2021-08-25 17:53:09 · 126 阅读 · 1 评论 -
2021-07-19【括号匹配】
#include<bits/stdc++.h>using namespace std;stack<char> a;string s;bool cmp(char a,char b){ if(a=='('&&b==')') return true; if(a=='['&&b==']') return true; if(a=='{'&&b=='}') return true; return false;}i.原创 2021-07-21 23:05:54 · 77 阅读 · 0 评论 -
2021-5-25【PTA】【1056 组合数的和 (15 分)】
#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[100]; int sum=0; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ sum+=a[i]*10+a[j]; sum+=a[j]*1.原创 2021-06-06 19:53:13 · 70 阅读 · 0 评论 -
2021-5-5【PTA】【1051 复数乘法 (15 分)】
#include<iostream>#include<cmath>using namespace std; int main(){ double a,ai,b,bi,A,B; cin>>a>>ai>>b>>bi; //A=a*b*cos(ai)*cos(bi)-a*b*sin(ai)*sin(bi); //B=a*b*cos(ai)*sin(bi)+a*b*sin(ai)*cos(bi); A = (a.原创 2021-05-05 15:49:31 · 212 阅读 · 0 评论 -
2021-5-4【PTA】【1004 成绩排名 (20 分)】
#include<bits/stdc++.h>using namespace std;struct stu{//结构体 string name; string numb; int score;}student[1000];bool cmp(stu a,stu b){//排序方式 return a.score>b.score;}int main(){ int n; cin>>n; for(int i=0;i<n;i++){//结构体输入 .原创 2021-05-05 15:23:13 · 162 阅读 · 0 评论 -
2021-5-1【PTA】【 L1-7 整除光棍 (20 分)】
#include<bits/stdc++.h>using namespace std;int main(){ int n; char str[1001]; cin>>n; int p=0,now=1,len=0; while(1){ if(now/n){ str[p++]='0'+now/n; } len++; now%=n; if(.原创 2021-05-01 23:22:58 · 357 阅读 · 0 评论 -
2021-5-1 【PTA】【L1-6 不变初心数 (15 分)】
#include<iostream>#include<cmath>#include<cstdio>using namespace std;int main(){ int n; cin>>n;//输入n int a[12];// int x; bool flag=0; for(int i=0;i<n;i++)//遍历次数 { cin>>x;//输入要判断的数 for(int j=2;j<=9;j++)//.原创 2021-05-01 22:07:43 · 6111 阅读 · 1 评论 -
2021-4-29【C】【字符串排序】【从键盘输入10个字符串,按照字典顺序将其排序输出(二维字符数组)】
#include<stdio.h>#include<string.h>void sort(char (*a)[105])//const char *ptr//定义一个指向字符常量的指针。//指针指向可以修改,指针指向的值不可以修改。//char const *ptr//与1等价//char * const ptr//定义一个指向字符的指针常数。//指针指向不能修改,指针指向的值可以修改{ int i=0,j=0; char temp[1.原创 2021-04-29 23:23:01 · 1988 阅读 · 0 评论 -
2021-4-28【PTA】【L2-1 包装机 (25 分)】
#include <bits/stdc++.h>using namespace std;const int N = 1005;int n,m,k;int op;char ch;stack <char> st; // 将筐的模型用一个栈来模拟queue <char> lsx; // 将流水线的模型用一个队列来模拟struct node{ queue<char>q; // 同样使用一个队列来存取货架上的元素} gd[N].原创 2021-04-28 22:25:40 · 1572 阅读 · 2 评论 -
2021-4-27【PTA】【L1-8 乘法口诀数列 (20 分)】
#include<bits/stdc++.h>using namespace std;int main(){ int a1,a2,n,f; int a[1000000];//记录每位数的数组 cin>>a1>>a2>>n;//输入 a[0]=a1,a[1]=a2; int cnt=2;//脚标 for(int i=0;i<n;i++){ f=a[i]*a[i+1];//算乘积 if(f>=10){//如果是两位数 ..原创 2021-04-27 00:14:31 · 1068 阅读 · 0 评论 -
2021-4-26【PTA】【L1-7 天梯赛的善良 (20 分)】
#include<bits/stdc++.h>using namespace std;int main(){ int n; int cntmin=0,cntmax=0;//最大值最小值的重复次数 int a[20000]; cin>>n; for(int i=0;i<n;i++){ cin>>a[i];//遍历输入数据 } sort(a,a+n);//从小到大排序 int min.原创 2021-04-26 23:35:11 · 1043 阅读 · 0 评论 -
2021-4-26【PTA】【L1-6 吉老师的回归 (15 分)】
#include<bits/stdc++.h>using namespace std;int main(){ int n,m,cnt=1;//cnt标志 string str; cin>>n>>m;//输入 getchar();//吸收回车 while(n--)// { getline(cin,str);//输入字符串 if(str.find("qiandao")!=-1||str..原创 2021-04-26 23:30:39 · 2281 阅读 · 3 评论 -
2021-4-26 【PTA】【考试座位号】
#include<bits/stdc++.h>using namespace std;struct {//结构体记录每个人的信息 string num; int mn; int zs;}name[1005];int main(){ int n; cin>>n;//输入 for(int i=0;i<n;i++){//遍历输入 cin>>name[i].num>>name[i].m.原创 2021-04-26 16:56:48 · 264 阅读 · 0 评论 -
2021-4-23【PTA】【跟奥巴马一切编程】
#include<bits/stdc++.h>using namespace std;int main(){ int n; char c; cin>>n>>c; for(int i=1;i<=(n/2+n%2);i++){//确定行数 if(i==1||i==(n/2+n%2)){//判断是否为首行或尾行 for(int j=0;j<n;j++) { .原创 2021-04-23 15:22:57 · 124 阅读 · 0 评论 -
2021-4-23【PTA】【程序运行时间】
#include<bits/stdc++.h>using namespace std;int main(){ int c1,c2; cin>>c1>>c2; double n=((c2-c1)*1.0)/100; int h=n/3600; int m=(n-h*3600)/60; int s=round(n-h*3600-m*60);//重点代码/round()函数————四舍五入函数 if(s==60){//进位 m++; s=0; }.原创 2021-04-23 14:58:57 · 198 阅读 · 0 评论 -
2021-4-23【PTA】【部分A+B】
#include<bits/stdc++.h>using namespace std;int main(){ string a,b; int da,db; int pa=0,pb=0; int cnta=0,cntb=0; cin>>a>>da>>b>>db;//输入 for(int i=0;i<a.size();i++){ if(a[i]-'0'==da)//判断 cnta++;//计数 } for(int.原创 2021-04-23 14:39:45 · 105 阅读 · 0 评论 -
2021-4-23【PTA】【A+B 和 C (15 分)】
#include<stdio.h>int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ long long a,b,c; scanf("%lld %lld %lld",&a,&b,&c); //本题重点在输入数据,如果数据太大求和会超限,测试点2,3过不去 if((a+b)>c) printf("Case #%d: true\n",i); else .原创 2021-04-23 14:27:12 · 151 阅读 · 0 评论 -
2021-4-25【PTA】【换个格式输出整数】
//最简单的代码#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a,b,c; a=n/100;//百 b=n/10%10;//十 c=n%10;//个 for(int i=0;i<a;i++) cout<<"B"; for(int i=0;i<b;i++) cout<<"S"; for(int i=1;i&l.原创 2021-04-23 14:17:03 · 115 阅读 · 0 评论 -
2021-4-24 【PTA】【继续(3n+1)猜想】
#include<bits/stdc++.h>using namespace std;int main(){ int n,num,hash[5000]={0}; cin>>n;//层数 int a[n]={0};//数组输入 for(int i=0;i<n;i++){ cin>>a[i];//输入 num=a[i];//num记录值 while(num>1){//卡拉兹(Callatz)猜想主体 if(num%2==.原创 2021-04-23 13:24:08 · 148 阅读 · 0 评论 -
2021-4-23 【PTA】【回形针,yyds】
在这里插入代码片原创 2021-04-23 12:37:47 · 588 阅读 · 0 评论 -
2021-4-22【PTA】【出生年】
#include<bits/stdc++.h>using namespace std;int main(){ string year; int k; cin>>year>>k; int a[130]={0}; int cnt=0; for(int i=stoi(year);;i++,cnt++){//把year转换为int型 int t=0; memset(a,0,sizeof(a));//把a中所有字节换做字符“0”,常用来对指针或字符串的初始.原创 2021-04-22 20:58:06 · 371 阅读 · 0 评论 -
2021-4-21 【PTA】【谷歌的招聘】
#include<bits/stdc++.h>using namespace std;bool isPrime(int n){//判断素数 if(n==0||n==1) return false; for(int i=2;i<sqrt(n);i++){ if(n%i==0) return false; } return true;}int main(){ int l,k; string s; cin>>l>>k>>s;//.原创 2021-04-22 20:22:33 · 504 阅读 · 0 评论 -
2021-4-20 【PTA】【连续因子】
#include <stdio.h>#include <math.h>#include <stdlib.h>int isPrime(int n);//判断素数int main(){ int n, temp, count = 0, a[20], max = 0, flag; scanf("%d", &n);//输入数字 if (isPrime(n))//如果是素数,直接按照题意输出就行了 { pr.原创 2021-04-22 18:47:59 · 288 阅读 · 0 评论 -
2021-4-19【PTA】【个位数统计】
#include <iostream>#include <map>#include<string.h>using namespace std;map<int, int> mp;int main() { char c[1005]; scanf("%s", c);//输入一串字符c for (int i = 0;i<strlen(c); i++) //遍历char数组 { mp[c[i] - '0']++;//c[i]-'0'表示.原创 2021-04-22 17:55:25 · 215 阅读 · 0 评论