![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CCF-CSP
cgsdfc
这个作者很懒,什么都没留下…
展开
-
2021-03-23
CCF-CSP 字符画这题只得了80分,还没有搞明白哪里出问题。这题思路其实很清晰的,先把输入的矩阵的元素解析成RGB三元组并以二维数组保存起来,然后按照要求,分块求平均值,注意这里的平均值是三种颜色各自的平均值。求出平均值后存到一个新的二维数组。然后按照给定的规则来绘制,具体规则我这里就不展开了,对每一个像素(即RGB三元组)输出一个空格,并且可能带有变色控制指令。注意题目提到了前景色和背景色,但是其实用到的只有背景色。对于最后输出为字符的16进制格式的处理上,我取了个巧:先按照字符串的形式保存起来,原创 2021-03-23 20:39:13 · 95 阅读 · 0 评论 -
2021-03-19
CCF-CSP MarkdownCCF考Markdown的题目好像不是第一次了,而且HTML相关的也考过。这题把Markdown语法和HTML输出结合起来,要求解析Markdown语法(部分),然后转换为HTML输出。分为区块和行内两种语法,其中区块是空行分隔的,所以就很好处理了,因为一个区块内没有空行,并且相邻区块之间必定有空行,所以处理一个区块时,读取连续的非空行即可。当然保险起见,如果区块的行有某些特征,比如列表的行以星号开头,那么可以读取连续的有特征的行。于是程序主体分为两层,外层枚举所有区块,原创 2021-03-19 10:00:51 · 87 阅读 · 0 评论 -
2021-03-18
CCF-CSP Crontab非常坑的一题,可能是因为我菜吧。考的的东西很多,把几种模拟题都揉在一起了,比如:日期处理,包括枚举分钟,计算某天是星期几,后者可以枚举天,也有公式,但是我记不住,哈哈。字符串解析,这个不用说了,大模拟必考。解析后建立满足题目意思的数据结构。思路:首先注意日期的表示法,我用的是年月日时分表示法,而不是弄成一个整数,实际上我只会这一种表示法,并且在算法笔记上学过练过。然后把控制表(即Crontab)输入,解析,建立可以方便的查询的数据结构。还是老办法,用enum标记原创 2021-03-18 22:12:23 · 108 阅读 · 0 评论 -
2021-03-18
CCF-CSP 化学方程式提醒:下面的代码在Dev(C++)模式下编译出错,但是我真的看不出来哪里不对,并且本地用同样的标准编译没问题;而用PAT的OJ编译也是没问题的。所以我用CCF的C++11模式去提交,就100了。很奇怪吧?如果有热心人看出了我哪里有问题,欢迎评论告诉我,谢谢!思路:是CCF的一贯风格:字符串解析。这题我感觉比JSON查询的难度大,因为这题要找出用栈保存什么还是挺难的。虽然出栈和入栈时机很明显,就是碰到左右括号嘛。最后发现原来需要用栈保存当前列表的化学元素的计数(用一个map表示)原创 2021-03-18 18:20:47 · 105 阅读 · 0 评论 -
2021-03-18
CCF-CSP JSON解析基本思路是用栈解决嵌套对象问题。注意在解析中维护好不变式。这里我用了一种简化的思路:把一个对象看做是一些键值对的序列,然后套用一个经典的解析循环:先跳过分隔符直到找到键值对的开头,然后解析这个键值对,如此循环直到到达字符串结束,或者遇到结束符号。在这里要注意几点:解析键值对时,遇到值为OBJ的,要把当前对象入栈,并令当前对象指向新生成的对象。当遇到对象结束符号,即}时,要把栈顶对象出栈,并把当前对象指向它。如果不存在栈顶对象,说明最顶层对象的解析结束了,应该返回。还有注原创 2021-03-18 16:14:18 · 74 阅读 · 0 评论 -
2021-03-18
CCF-CSP URL映射把题目的意思先搞懂。就是给你一些URL规则和一些URL,然后对每个URL,按照先后顺序逐个匹配所有URL规则,按照第一个匹配就匹配的原则。匹配成功则输出规则的名字和所有的参数(就是把参数的值从URL里抠出来);匹配失败则输出404 。注意处理结尾的斜杠。因为保证以斜杠开头(规则或者ULR都是如此),所以把URL抽象为片段的序列,每个片段前面必有一个斜杠,只需记录整个串是否以斜杠结尾即可。注意题目的规定,如果最后一个片段是path,则不能以斜杠结尾。最后注意一下规则可能没有片段原创 2021-03-18 12:21:06 · 100 阅读 · 0 评论 -
2021-02-27
CCF-CSP\专题\题型A 简单模拟\201703-2 学生排队这题考察顺序表的查找和插入操作,基本上就是找到一个元素然后把它插入到前面或者后面的位置,然后保持其他元素的相对位置不变。#include <cstdio>#include <vector>#include <algorithm> // findusing namespace std; /* run this program using the console pauser or add yo原创 2021-02-27 10:58:23 · 59 阅读 · 0 评论 -
2021-02-27
CCF-CSP\专题\题型A 简单模拟\201709-2 公共钥匙盒这道题难点是怎么处理归还和接走钥匙的逻辑,以及怎么处理时间。其实这里的时间(包括其他CCF的时间)都是离散的,就是可列的,于是用一个数组保存所有的操作,再按照要求去排序,然后按照顺序去模拟即可。排序是个好东西。#include <cstdio>#include <algorithm>using namespace std;/* run this program using the console paus原创 2021-02-27 10:39:22 · 74 阅读 · 0 评论 -
2021-02-26
CCF-CSP\专题\题型A 简单模拟\201903-2 二十四点简单的中缀表达式计算,无括号,数字是0-9的数字,加减乘除四则运算。注意不需要先转后缀再计算,直接遍历(带栈)就可以计算了。#include <cstdio>#include <stack>using namespace std;int N;const int Len=7;int Ord(char c) { switch (c) { case '-': case '+': retu原创 2021-02-26 20:09:30 · 159 阅读 · 0 评论 -
2021-02-26
CCF-CSP\专题\题型A 简单模拟\201612-2 工资计算算是比较复杂的简单模拟了,主要难点在于税后工资的计算,因为情况太多,开了一个数组保存税率和下界,然后注意枚举每个税率不同的区间(当然是按税率从低到高枚举),如果当前区间的上界小于等于税前工资A,就扣除当前区间对应的税,否则退出循环,把逻辑搞清楚就行。然后坑点还有保证税前工资是整百。如果用线性查找(也能过,真的!),就每次递增100,如果用二分查找,就注意要对整百进行查找,即用1代表100,2代表200等等,否则当二分除以二的时候,就会有问原创 2021-02-26 20:06:28 · 57 阅读 · 0 评论 -
2021-02-08
CCF-CSP\专题\题型A 简单模拟\201803-2 碰撞的小球#include <cstdio>#include <cstring>#include <algorithm>using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int N,L,T;// N个小球,原创 2021-02-08 10:36:51 · 80 阅读 · 0 评论 -
2021-02-08
CCF 202012-2 期末预测之最佳阈值#include <cstdio>#include <algorithm>using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop *//*对每个(x,r),求出大于等于x且r==1的个数,以及小于x且r==0的个数,这两个数值相加,就是以x为原创 2021-02-08 10:34:31 · 211 阅读 · 0 评论 -
2021-02-07
CCF 带配额的文件系统 100分#include <cstdio>#include <map>#include <vector>#include <iostream>#include <string>#include <cstring>#include <cctype>#include <cassert>using namespace std;typedef long long ll;原创 2021-02-07 23:47:27 · 104 阅读 · 0 评论 -
CCF 202009-3点亮数字人生 (100分)
CCF 202009-3点亮数字人生 (100分)#include <cstdio>#include <vector>#include <cstring>#include <algorithm>#include <cstdlib>#include <cassert>using namespace std;enum { NOT, AND, OR, XOR, NAND, NOR,};#define MAX原创 2021-02-07 23:44:56 · 1024 阅读 · 1 评论