第四届cccc天梯赛部分题解
又参加了一届,上届主要是去水一水的,然后这届就成了主力 ? ? ?
题目写起来还是比较顺手的,水题都是一遍过,没有被坑到。然后最后还是卡在了L2-2...L3本来还是想看一看的,但是队伍一直没有过线,所以后期一直在怼L2-2
这届感觉变成了模拟和字符串大赛了,哈哈哈。。。
L1就简单过一遍吧
1 PTA使我精神焕发 妥妥的签到题,输出就对了
2 6翻了
也是感觉签到题啊,就按条件模拟一下呗 记录下6每次出现的次数呗 注意每次6的最后清空下次数就行了。有些队友挂了,不知道什么原因,所以简单写下代码
#include <bits/stdc++.h> using namespace std; int main() { string s; getline(cin,s); int vis=0; for(int i=0;i<s.length();i++){ if(vis&&s[i]!='6'){ if(vis<=3) for(int i=0;i<vis;i++) cout<<6; else if(vis<=9) cout<<9; else cout<<27; cout<<s[i]; vis=0; } else if(s[i]=='6') vis++; else cout<<s[i]; } if(vis){ if(vis<=3) for(int i=0;i<vis;i++) cout<<6; else if(vis<=9) cout<<9; else cout<<27; } return 0; }
3 敲笨钟
模拟,首先找逗号的位置,然后判断一下逗号前面的三个字符是不是ong,以及最后四个字符串是否为ong.
然后从后往前判断空格的数量,找到倒数第三个空格,将之后的字符改成敲笨钟就行了。
4 心理阴影面积
哈哈哈,一开始想了下叉积,然后看题目描述就是减法,就直接根据样例蒙了一下,就过了。。。还是签到题
5 新胖子公式
用double 进行下除法。。简单判断一下
6 幸运彩票
字符串遍历下前三个和后三个相加判断一下就可以了
7 吃鱼还是吃肉
一些if过了。。。就判断就行了
8 AI 核心代码
哈哈哈,这题看起来就很难受,判断太多了。。。。做到一半老师过来提醒了线降到600分
但是做的做了,就继续做下去呗。。。总归就是大模拟,加挺多判断。
我的做法就是先将空格去了,以及将除了I以外的大写转换成小写。。
然后就去判断一些独立的修改啥的。。。不知道为什么只拿了17分
所以赛后,就不想在去做这种题了。。也不贴代码了
L2
1 特立独行的幸福
这题思路挺简单的,暴力递归就行了
但是唯一要注意的点在于依附性。
即我们在递归的过程中,将出现的数都标记上。在输出数据的时候有标记的数都不放进去就行了。
对了,我还线性筛了下素数,不知道这里会不会卡暴力的时间。
2 这题真的挺难的,主要是以前没怎么太做过LCA 最近公共祖先的题目,所以写起来还是挺难受的。大体思路就是用map存一下姓名的联系,然后直接LCA就行了
还有需要注意的坑大概就是女爸爸的出现吧。具体可以去看看大佬的博客 https://blog.csdn.net/weixin_43272781/article/details/88919787
3 深入虎穴
这题真的太自闭了。。。
一开始默认1为入口,然后就去dfs,然后好像18分
然后仔细读了一遍题,发现题目中没有说1位入口,然后就去暴力所有起点 然后t了两个样例 ,应该是20分好像
最后dfs+剪枝 最后还是wa了一个点 只拿了23分
听群里一些大佬什么过法的都有,有双向边过的,有默认1为入口过的,有并查集过的,有枚举入度为0的门为入口。。反正千奇百怪的过法都有,数据是不是有点水。。
4 彩虹瓶
直接用栈模拟题意就行了,但是唯一要注意的地方在于因为是多组样例,注意每组样例要清下栈,其他应该没什么坑吧。。
在考场上只做了这些题,拿了170分,应该满足了,但是心里还是感觉自己挺菜的。希望明年还能参加吧,明年都大三了,争取拿个省一吧。
最后膜一膜jls jls tql 最后又绝杀了,但是明年就看不到jls了,有点小遗憾呀。