本次比赛的题目链接在本文底部,省流党可以直接拉到最下面
说两句闲话:我觉得 AtCoder Beginner Contest 这个系列真的很适合大部分提高组水平以下的同学们,里面题目难度安排得很合适。如果让我对题目难度大致做一个评估的话,基本就是如下表所示:
题目编号 | 分值 | 难度 |
---|---|---|
A | 100 | 比普及组 T1 简单一点 |
B | 200 | 普及组 T1 |
C | 300 | 普及组 T2 |
D | 400 | 普及组 T3 - 提高组 T1 |
E | 500 | 提高组 T1 - T2 |
F | 500 | 提高组 T1 - T2 |
G | 550 | 没读懂题,不予评价 |
E+ | 600 | 读懂了,感觉挺难的,但是不晓得具体评定什么难度比较合适 |
注:该表格中的组别和题目难度均为一般情况下的难度,不考虑到最近几年 CSP 与 NOIP 内卷严重,题目难度大大上升的情况(比如我曾在 2020 年的 CSP 上单枪匹马面对一道黑题贪吃蛇),也不考虑早期 NOIP 尚未成熟时题目相对都很简单的情况(津津的储蓄计划表示很淦)。
小扯了几句废话,还是复盘一下,顺便说说这次模拟赛的感受
这个比赛还是挺有特点的,赛制是 IOI 赛制(也就是说你交完代码之后直接就能出结果),每道题目根据难易程度不同也有不同的分值(详见上方),一道题只有所有测试点全部 AC 才有分数(也就是说你不能用糊弄总司令的方式来糊弄 AtCoder 的比赛了)。这次我过了 ABC 三道比较水的题目,拿到了 600 分的成绩,在 9300 位提交代码的选手中排名 3538 ,说实话,我觉得可以更高的。
模拟赛的持续时间是 100 分钟,说实话,对我而言还是有点短了。今天偷偷翘了文化课来打比赛,其实只写了一个小时多一点的时间。如果多给一点点时间,我应该是可以把 D 题也做出来再水 400 分的。
复盘一下这次比赛吧。
题意:给你一个长度为 3 的只含大写字母字符串,如果这个字符串是 ACE, BDF, CEG, DFA, EGB, FAC, GBD 中的一个输出 Yes ,反之输出 No
个人感觉, A 题存在的意义就是让你不爆零。这道题没有复盘的必要,唯一遗憾的是我没看懂原题里 uppercase 是什么意思,导致我画蛇添脚写了一个把小写字母转成大写字母的过程,等 A 了这道题之后到翻译姬里面一查发现这个单词的意思是大写字母,尴尬的我差点用脚指头扣出一座芭比娃娃的梦幻城堡。
代码如下:
#include <bits/stdc++.h>
using namespace std;
string a;
int main()
{
cin >> a;
if(a == "ACE" || a == "BDF" || a == "CEG" || a == "DFA" || a == "EGB" || a == "FAC" || a == "GBD")
cout << "Yes";
else
cout << "No";
return 0;
}
题意:给你一个 n × m n \times m n×m 的只有黑白两种颜色的网格,让你输出其中所有二维码的位置。
二维码要满足以下条件:
- 必须是 9 × 9 9 \times 9 9×9 的正方形
- 左上角 3 × 3 3 \times 3 3×3 和右下角 3 × 3 3 \times 3 3×3 必须都是黑的
- 左上角和右下角的 3 × 3 3 \times 3 3×3 的黑格的周围必须都是白格(仅限处在这个 9 × 9 9 \times 9 9×