1、 打印三角形拼图 (15 分)
一个正方形可以用两个等边直角三角形拼出来。给定正方形的边长、两个三角形和对角线所用的符号,请你打印出这两个三角形拼出的正方形。
输入格式:
输入在一行中给出一个正整数 L(2≤L≤100,为正方形的边长),同时给出打印上三角形、下三角形、对角线所用的字符。数字和字符间以一个空格分隔。

输出格式:
按输入要求打印这两个三角形拼出的正方形。

输入样例:
6 a b -
结尾无空行
输出样例:
-aaaaa
b-aaaa
bb-aaa
bbb-aa
bbbb-a
bbbbb-

#include<bits/stdc++.h>
using namespace std;int n;
char c1,c2,c3;
int main()
{cin>>n>>c1>>c2>>c3;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==j)cout<<c3;else if(j>i)cout<<c1;else cout<<c2;}cout<<endl;}return 0;
}

2、 赌马 (20 分)
听说香港中文大学有一个教授开发了一个“投注方程式”来赌马,三个赛季就赚了 5000 万港币。现在请你来开发一个简单的赌马程序:假设开赛若干分钟之内都可以下注,而你可以准确获得截止时间最后一刻每匹马到终点的距离和它的瞬时速度,这样你就可以算出每匹马到达终点还需要多少时间。每次下注预测的前三名,中奖的几率是不是很大啊~
输入格式:
输入在第一行中给出一个正整数 3≤N≤10^4,是参赛的马匹数量(虽然有点夸张)。随后 N 行,每行按以下格式给出:
马的编号 到终点的距离 瞬时速度
其中马的编号是 1 到 10^4之间的整数,每匹马的编号是唯一无重复的;到终点的距离是 1 到 10 ^3之间的整数,单位为“米”;瞬时速度是 1 到 20 之间的整数,单位为“米/秒”。
输出格式:
在一行中按到达终点的顺序输出预测的前三名马的编号。如果有并列,按编号递增序取前面的输出。
编号间以 1 个空格分隔,行首尾不得有多余空格。
输入样例:
6
886 500 12
6688 600 18
8866 700 15
2333 500 15
1234 650 11
6666 375 9
结尾无空行
输出样例:
2333 6688 886
结尾无空行

#include<bits/stdc++.h>
using namespace std;const int N=1e4+10;struct node
{int id,s,v;double t;
}s[N];bool cmp(node a,node b)
{if(a.t!=b.t)return a.t<b.t;else return a.id<b.id;
}
int n;int main()
{cin>>n;for(int i=0;i<n;i++){cin>>s[i].id>>s[i].s>>s[i].v;s[i].t=s[i].s*1.0/s[i].v;}sort(s,s+n,cmp);cout<<s[0].id<<" "<<s[1].id<<" "<<s[2].id<<endl;return 0;}

3、 拼题 A 是真爱 (20 分)
如果一个人在一段话里很多次提到 pintia,那对拼题 A 就是真爱啦~ 本题就请你检查一下给定的文字中出现了几次 pintia。

输入格式:
输入在一行中给出一个总长度不超过 10^4字符的非空字符串,由英文字母和标点符号 , 和 . 以及空格组成,以一个回车结束。
输出格式:
首先在第一行输出给定文字中出现了多少次 pintia 或 Pintia。
如果一次都没有,在第二行输出 wu gan(无感);如果有但不超过 3 次,输出 you ai(有爱);如果超过了 3 次,输出 zhen ai la(真爱啦)。
注意只有当 pintia 作为完整独立的词出现的时候才算一次,即它必须跟其他文字以空格或者标点符号分开。

输入样例 1:
This is a pintiatest.
结尾无空行
输出样例 1:
0
wu gan
结尾无空行
输入样例 2:
This is apintia test. Hey I love pintia a
结尾无空行
输出样例 2:
1
you ai
结尾无空行
输入样例 3:
This is apintiatest. Hey I love pintia, really zhen ai pintia la,pintia is my favorite place to go. Come on visit Pintia.
结尾无空行
输出样例 3:
4
zhen ai la
结尾无空行

#include<bits/stdc++.h>
using namespace std;string s;
int ans;int main()
{getline(cin,s);for(int i=0;i<s.size();i++){if((s[0]=='p'||s[0]=='P')&&(s.substr(0,6)=="pintia"||s.substr(0,6)=="Pintia")&&(s[6]==' '||s[6]==','||s[6]=='.'))ans++;else if((s[i]=='p'||s[i]=='P')&&(s[i-1]==' '||s[i-1]==','||s[i-1]=='.')&&(s.substr(i,6)=="pintia"||s.substr(i,6)=="Pintia")&&(s[i+6]==' '||s[i+6]==','||s[i+6]=='.'))ans++;}if(!ans)cout<<ans<<endl<<"wu gan"<<endl;else if(ans<=3)cout<<ans<<endl<<"you ai"<<endl;elsecout<<ans<<endl<<"zhen ai la"<<endl;return 0;
}

4、素数等差数列 (20 分)
2004 年,陶哲轩(Terence Tao)和本·格林(Ben Green)证明了:对于任意大的 n,均存在 n 项全由素数组成的等差数列。例如 { 7,37,67,97,127,157 } 是 n=6 的解。本题就请你对给定的 n 在指定范围内找出一组最大的解。
输入格式:
输入在一行中给出两个正整数:n(≤10)为等差素数数列的项数; MAXP (2≤MAXP<10 ^5)为数列中最大素数的上界。
输出格式:
如果解存在,则在一行中按递增序输出等差最大的一组解;若解不唯一,则输出首数最大的一组解。若解不存在,则输出不超过 MAXP 的最大素数。同行数字间以一个空格分隔,行首尾不得有多余空格。
输入样例 1:
5 1000
结尾无空行
输出样例 1:
23 263 503 743 983
结尾无空行
输入样例 2:
10 200
结尾无空行
输出样例 2:
199
结尾无空行

#include<bits/stdc++.h>
using namespace std;const int N=1e5+10;int a[N],b[N],ans[N];
int n,m,cnt;bool is_prime(int x)
{for(int i=2;i<=sqrt(x);i++){if(x%i==0)return false;}return true;
}int main()
{cin>>n>>m;for(int i=2;i<=m;i++){if(is_prime(i)){a[cnt]=i;cnt++;b[i]=1;}}int num=0;if(n>1){for(int i=cnt-1;i>=n;i--){for(int j=0;j<i-n+1;j++){if((a[i]-a[j])%(n-1))continue;bool flag=true;int c=(a[i]-a[j])/(n-1);for(int k=1;k<n-1;k++){if(!b[a[j]+k*c]){flag=false;break;}  }if(flag&&a[i]-a[j]>num){for(int t=0;t<n;t++)ans[t]=a[j]+t*c;num=a[i]-a[j];}}}}if(!num)cout<<a[cnt-1]<<endl;else{cout<<ans[0];for(int i=1;i<n;i++)cout<<" "<<ans[i];cout<<endl;}return 0;}

5、 实验室使用排期 (25 分)
受新冠疫情影响,当前大家的活动都必须注意保持充分的社交距离,国家实验室的使用也同样受到了严格的限制。假设规定任何一个时间点上,实验室内最多只能有 1 个人,且每个人都必须提前申请实验室的使用,只有申请被批准后才能进入。现给定一批第二天的实验室使用申请,你需要写个程序自动审批,使得能够被批准的申请数量最大化。

输入格式:
输入第一行首先给出一个正整数 N(≤2×10^3),为申请总量。随后 N 行,每行按以下格式给出申请信息:
hh:mm:ss hh:mm:ss
其中 hh:mm:ss 表示一天内的时间点“小时:分钟:秒钟”,最早从 00:00:00 开始,最晚到 23:59:59 结束。第一个时间点为进入实验室的时间,第二个是离开时间。题目保证离开时间在进入时间之后。
注意所有时间都在一天之内。时间按 24 小时显示。

输出格式:
在一行中输出能够被批准的最大申请数量。

输入样例:
7
18:00:01 23:07:01
04:09:59 11:30:08
11:35:50 13:00:00
23:45:00 23:55:50
13:00:00 17:11:22
06:30:50 11:42:01
17:30:00 23:50:00
结尾无空行
输出样例:
5
结尾无空行

#include<bits/stdc++.h>
using namespace std;const int N=2e3+10;struct sj{string st,ed,sst,eed;
}s[N];bool cmp(sj a,sj b)
{if(a.eed!=b.eed)return a.eed<b.eed;elsereturn a.sst<b.sst;
}int n;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n;for(int i=0;i<n;i++){cin>>s[i].st>>s[i].ed;s[i].sst=s[i].st.substr(0,2)+s[i].st.substr(3,2)+s[i].st.substr(6,2);s[i].eed=s[i].ed.substr(0,2)+s[i].ed.substr(3,2)+s[i].ed.substr(6,2);}sort(s,s+n,cmp);string ans=s[0].eed;int ans1=1;for(int i=1;i<n;i++){if(s[i].sst>=ans){ans1++;ans=s[i].eed;   }}cout<<ans1<<endl;return 0;
}

2021年PAT乙级春季真题相关推荐

  1. PAT乙级 1061 判断题

    1061 判断题 (15 分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人 ...

  2. PAT 乙级 1061 判断题 (15分)

    1061 判断题 (15分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数 ...

  3. PAT乙级题目索引(题目+解析+AC代码)

    题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 ...

  4. PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3)

    PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3) 第一次写点博客记录自己学习算法的过程,因为个人能力有限,会不定期发布一些PAT上题目的代码 PAT 乙级的1 ...

  5. 2021年冬季PAT乙级题解(C/C++语言)

    2021年冬季PAT乙级题解(C/C++语言) 7-1 自动打包机 (15 分) 原题 算法标签 模拟 代码 #include<bits/stdc++.h> #define int lon ...

  6. PAT乙级题库踩坑实录

    PAT乙级题库踩坑实录 [截止2021.7.28乙级题库已经全部AC] 题目名称: 1030 完美数列 (25 分) 测试点3踩坑 每次取m后,不用从m后第一个元素开始判断是否大于mp,直接从m后第m ...

  7. 2021年 PAT(乙级)

    2021年 PAT(乙级) 7-1 好数 (15 分) 题目描述 代码 利用常规方法(通过式子判断)模拟 利用哈希表存储所有数的源头 解题思路 7-2 数以类聚 (20 分) 题目描述 代码 思路 7 ...

  8. PAT乙级2021秋季复盘

    [2021.9.11]PAT乙级秋季60分题解(附满分代码) 前言 1.这次比赛总体感觉不难,因为此次比赛是本人第一次参加线上赛,经验较少,赛前多次调试电脑和手机摄像头是否正常工作,(因为双机位监考嘛 ...

  9. 2021年秋季PAT乙级题解(C语言)

    7-1 好数 (15 分) 好数是指由一对正整数 a<b 按照 a^2+ab+b ^2这个规则生成的数,a 和 b 就称为这个好数的源头.例如 91 就是一个好数,因为 5 ^2+5×6+6 ^ ...

  10. 1061 判断题(PAT乙级 C++)

    题目 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量.第二行给出 ...

最新文章

  1. 20Composite(组合)模式
  2. cmake 静态编译 简介
  3. DPI释疑--What is mean of Dpi?
  4. [转]C++的Json解析库:jsoncpp和boost
  5. kesioncms ajax分页,改进KesionCMS V9.0x SQL标签分页支持嵌套
  6. final修饰的类有什么特点?
  7. 为caffe添加最简单的全通层AllPassLayer
  8. vuejs2.0从入门到放弃--入门实例(四)
  9. matlab练习程序(生成加密p文件)
  10. 从团购的“占便宜”心态说起
  11. js ws 状态_使用ws
  12. Maven的下载安装配置教程(详细图文)
  13. cisco防火墙(Cisco防火墙型号asa)
  14. Radasm使用简明手册(中文版)
  15. 网络工程师(软考中级-华为认证)
  16. Photoshop 渐变工具使用
  17. 程序员知道什么叫劳务外包?企业为什么要选择劳务外包吗?
  18. Python处理Excel,学会这十四个方法,工作量减少大半!
  19. ISP—自动白平衡(AWB)
  20. uni-app在手机上背景图片不显示

热门文章

  1. 海外代理ip池购买推荐,易路s5海外ip代理如何提取使用?
  2. 【线性规划】基本概念
  3. php网络图片拼接,图片处理-PHP图片拼接如何高效的实现
  4. 奥运五环(一键复制)
  5. [历年IT笔试题]美团2015校园招聘笔试题
  6. 【存储知识】RAID(磁盘冗余阵列)与 LVM(逻辑卷管理器)
  7. 出口法和出口管制小记
  8. 分布电容和杂散电容_分布电容
  9. vulnhub刷题记录(Pwn The Tron:1)
  10. google play以及google pay