2020冬季 PAT 甲级记录

第一次参加PAT,本来九月份报名的时候是打算到十二月份的时候把乙级的题库刷完,然后甲级的题库刷一半,结果因为各种各样的事情(主要是懒又没坚持0.0)这次直到考前乙级才刷完三分之二,甲级一题都没刷就来考试了,而且考前才得知原来我报名的考点是线上考点要自己准备环境,一看考试须知,周围2.5米内不得有人,考试中途不能上厕所,妈蛋我是六人寝啊,2.5米不得有人我要把我舍友都扔出去吗- -,我最喜欢做题喝水了,之前打一场比赛至少要去个三次厕所,感觉自己被针对了0.0然后焦头烂额准备环境(把自己的电脑和座位拿几件外套围起来,通知舍友不要发出声音。。)再加上最近沉迷刀剑真是想不白给都难,不废话了,上题目

这里写目录标

  • 2020冬季 PAT 甲级记录
  • 1、斐波那契数列(模拟)
  • 2、substring(字符串匹配)
  • 3、文件树(模拟)
  • 4、化学方程?
  • 总结

1、斐波那契数列(模拟)

签到题,感觉是送分的

#include<bits/stdc++.h>
using namespace std;
long long t, s1 = 0, s2 = 1, n, ans1, ans2, ans;
void fib(int a, int b){ans = s1 + s2;if(ans >= n){ans1 = ans;return;}else{s1 = s2;s2 = ans;ans2 = ans;fib(s1, s2);}
}
int main(){ios::sync_with_stdio(false);cin.tie(0);cin >> n;fib(s1, s2);if(abs(n - ans1) < abs(n - ans2)) cout << ans1;else cout << ans2;return 0;
}

2、substring(字符串匹配)

这题以前训练的时候做过类似的,不过当时就没好好做,然后也一知半解,那个时候一起练习的大神同学说什么滑动窗口什么的,我现在也不太会就是了,当时考试的时候开了三个记录的数组,然后之间的逻辑关系就贼绕,特别复杂,其实暴力就能做出来了,当时环境也不太好发挥很差,改了很久没改好,这代码是第二天改的,不知道能不能过

#include<bits/stdc++.h>
using namespace std;
const int o = 1e4 + 5;
int c1, c2, f1[o], f2[o], flag, sta;
//f1记录所有子串中的字符在字符串中出现的下标
//f2记录子串中每个字符出现的第一次在f1中的下标
int main(){string s1, s2;cin >> s1 >> s2;for(int i = 0; i < s1.size(); i++){if(s1[i] == s2[0]){sta = i;//第一个出现的位置,为后面n*m稍微优化一下 break;}}for(int i = 0; i < s2.size(); i++){flag = 0;for(int j = sta;j < s1.size(); j++){if(s1[j] == s2[i]){if(flag == 0){flag = 1;f2[c2++] = c1;}f1[c1++] = j;}}}int cc1 = 1, minn = 1e8, flag1, ans, p, flag2;if(c2 > 1){for(int i = 0; i < f2[1]; i++){flag1 = 0, cc1 = 1;for(int j = f2[cc1]; j < o; j++){if(flag2 == 1){flag2 = 0;j = f2[cc1];}if(f1[i] < f1[j]){//如果这个字符出现的下标在前一个字符之后,那就成功,每次只要记录后一个=种字符的第一个就行了 flag2 = 1;cc1++;if(cc1 == c2){//完成子串,那么记录长度和位置,ans为长度,p为在字符串中的下标 ans = f1[j] - f1[i] + 1;if(ans < minn){minn = ans;p = f1[i];}flag1 = 1;break;}}}if(flag1 == 1) continue;}string pp;pp = s1.substr(p, minn);cout << pp;}else cout << s2;return 0;
}
/*
atpaaabpabttpcat
pat
*/

3、文件树(模拟)

这题看着挺复杂的,开了vector存路径,结果写完才发现根本没有vector的出场,真是离谱,然后细节修改修改提交,格式错误,懵逼,给的样例error在最后一行,所以我的error那一行没加换行, 结果我debug了半个小时才发现这个问题,服了,又特别想上厕所(我没喝水啊!)

#include<bits/stdc++.h>
using namespace std;
const int o = 1e5;
int pre[o], vis[o], last[o];
void find(int x) {if(pre[x] != -1) {find(pre[x]);printf("%04d", pre[x]);cout << "->";}return;
}
int main() {int n, a, c, m, x;string s, s1;vis[0] = 1;fill(pre, pre + 100000, -1);cin >> n;getchar();getline(cin, s1);for(int i = 1; i < n; i++) {c = 0;getline(cin, s);a = stoi(s);while(s[c] == ' ') c++;last[c] = a;pre[a] = last[c - 1];vis[a] = 1;}cin >> m;for(int i = 0; i < m; i++) {cin >> x;if(vis[x] == 1) {find(x);printf("%04d\n", x);} else {printf("Error: %04d is not found.\n", x);}}return 0;
}

4、化学方程?

题目太长了,看不太懂,然后又憋得慌,我直接交卷去撤硕了,这题还是等我多刷点题库才看吧- -

总结

总的来说自己太菜,也没刷题库,虽然这次目的是试水(我就是奔着三题去的- -)但感觉这次应该难度不算大吧(不过我之前也没考过就是了),除了第四题应该很难前三题都挺简单的,只不过体验还是有点差,发挥也一般,寒假好好把题库给做了,希望疫情快点结束,线上考简直折磨,希望快快变回线下考,明年嗯冲一波PAT!!

【PAT甲级】2020冬季 PAT 甲级相关推荐

  1. PAT甲级1093 Count PAT‘s :[C++题解]DP、状态机模型dp

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:统计子串"PAT"的数量. 状态机模型:本题需要的是PAT,需要选3个字母,对应三条边,需要4个状态. 下面以样例 ...

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

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

  3. PAT乙级095 解码PAT准考证

    1095 解码PAT准考证 (25 分) PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级:A 代表甲级:B 代表乙级: 第 2~4 位是考场编号,范围从 101 到 999: ...

  4. 2017西安php行业工资,西安2020冬季平均工资出炉!基金、IT服务这些行业薪资高...

    前段时间各大平台的年度总结都出炉了,看到微信.支付宝年度账单的时候,小编着实倒吸了一口凉气:"怎么花了这么多?".不过挣钱就是为了花(小编自我安慰一下).新的一年继续好好挣钱就行了 ...

  5. 道道通导航linux升级,道道通导航升级2020冬季版

    道道通导航升级2020冬季版是道道通导航的最新升级版本,不但更新了全面的地图数据,还为用户带来了许多实用的新功能,用户可以通过这款软件查找到行驶的路线,还有语音播报和违章提醒等人性化的服务,软件汇集了 ...

  6. PAT/PTA甲级2020春季题目【满分】弃坑贴

    开局上张图: 更一下题目通过率,有点吃惊... PAT甲级考纲:(官网目前已经删除了,以前是有的,见下文) 先说一下今天考试的整体情况: 因为这是第一次线上考试,导致很多地方包括很多同学的网络,设备等 ...

  7. 【PAT】2021年冬季考试甲级,摸鱼游记、92分

    T1,简单模拟,20/20分 #include<bits/stdc++.h> using namespace std; const int maxn = 1e5+10; int a[max ...

  8. 【PAT甲级最新题解】PAT甲级2020.7月春季考试满分题解(附代码)

    写在前面:这次题目虽然大多数是模拟题且不算难,但是题面其实不算友好,不少同学因为题目描述而错失满分. A: 题意:给定一个数字串,问每一个前缀串是否是素数. 模拟题不多解释. #include< ...

  9. 2020年PAT甲级春季考试真题及答案

    1168 Prime Day The above picture is from Sina Weibo, showing May 23rd, 2019 as a very cool "Pri ...

最新文章

  1. 数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
  2. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法
  3. pmp知识点详解-项目大牛整理_PMP核心知识点第六章:项目进度管理(3)
  4. ubuntu中snap包管理器的安装、更新删除与简单使用
  5. C# COM ArcgisEngine 多线程相关
  6. TypeScript BigInt
  7. 获取当前jvm的进程号
  8. python中的reindex_Python reindex使用详解
  9. linux安装 soapui_SOAP测试工具-SoapUI For Linux下载V5.2.1免费版-西西软件下载
  10. 一个屌丝程序猿的人生(三十二)
  11. 建议5:防止switch贯穿
  12. 【树莓派】搭建OpenWrt软路由,并作为旁路由的配置与应用方法
  13. SpringBoot整合Quartz--使用/教程/实例
  14. JVM类加载、验证、准备、解析、初始化、卸载过程详解
  15. 洛谷 P2141 珠心算测验
  16. 中国劳动力动态调查数据(CLDS)2011-2018年
  17. Android进阶知识树——Android Handler消息机制
  18. vue 孙子组件获取祖先组件数据
  19. 虚拟化技术详解——少年想自己做个虚拟机吗?
  20. apache camel

热门文章

  1. 西门子s7 200smart与3台三菱e740变频器通讯程序
  2. python添加音乐
  3. DNS关键词:DNS工作原理、A记录、CNAME记录、MX记录、PTR记录、SOA记录、NS记录
  4. WebGL坐标系及基础几何概念
  5. SOLIDWORKS技巧培训-绘制零件滚花的两种方法
  6. Trie 树——Golang实现
  7. Gremlin语法学习笔记
  8. Matlab消除异常值,从matlab boxplot中删除某些异常值
  9. cad转换成pdf格式之后如何设置其背景色为白色?
  10. Get新技能Interest