CCF
Onwaier
Everything that kills me makes me feel alive
展开
-
第十八次CCF计算机软件能力认证赛后总结与经验分享
第十八次CCF计算机软件能力认证赛后总结与经验分享原创 2019-12-17 00:11:16 · 1901 阅读 · 0 评论 -
CCF 201712-4行车路线
题目描述问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航。 小芳将可能的道路分为大道和小道。大道比较好走,每走1公里小明会增加1的疲劳度。小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2的疲劳度。 例如:有5个路口,1号路口到2号路口为小道,2号路口到3号路口为小道,3号路口到4号路口为大道,4号路口到5号路口为小道,相邻路口之间的距离都是2公里...原创 2019-11-29 20:29:37 · 356 阅读 · 0 评论 -
CCF 201712-3Crontab
参考博客,作者的思路很清晰。题目描述样例输入3 201711170032 2017112223520 7 * * 1,3-5 get_up30 23 * * Sat,Sun go_to_bed15 12,18 * * * have_dinner样例输出201711170700 get_up201711171215 have_dinner201711171815 have_...转载 2019-11-28 16:51:59 · 294 阅读 · 0 评论 -
CCF 201712-2游戏
题目描述问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一...原创 2019-11-26 14:10:06 · 411 阅读 · 0 评论 -
CCF 201712-1最小差值
题目描述问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式 输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明 相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出...原创 2019-11-25 16:21:26 · 901 阅读 · 0 评论 -
CCF 201803-4棋局评估
题目描述问题描述 Alice和Bob正在玩井字棋游戏。 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先。当同一种棋子占据一行、一列或一条对角线的三个格子时,游戏结束,该种棋子的持有者获胜。当棋盘被填满的时候,游戏结束,双方平手。 Alice设计了一种对棋局评分的方法: - 对于Alice已经获胜的局面,评估得分为...原创 2019-11-23 14:39:34 · 284 阅读 · 0 评论 -
CCF 201803-3URL映射
题目描述问题描述 URL 映射是诸如 Django、Ruby on Rails 等网页框架 (web frameworks) 的一个重要组件。对于从浏览器发来的 HTTP 请求,URL 映射模块会解析请求中的 URL 地址,并将其分派给相应的处理代码。现在,请你来实现一个简单的 URL 映射功能。 本题中 URL 映射功能的配置由若干条 URL 映射规则组成。当一个请求到达时,URL 映...原创 2019-11-23 14:29:35 · 282 阅读 · 0 评论 -
CCF 201803-2碰撞的小球
题目描述问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续...原创 2019-11-19 14:27:20 · 186 阅读 · 0 评论 -
CCF 201803-1跳一跳
题目描述问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)...原创 2019-11-18 23:56:32 · 147 阅读 · 0 评论 -
CCF 201809-4再卖菜
题目描述问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个正整数的价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商...原创 2019-11-17 14:42:31 · 271 阅读 · 0 评论 -
CCF 201809-3元素选择器
题目描述题解1主要还是模拟。需要注意是:标签不区分大小写,而id是区分大小写的。比较时,需要注意。多级后代选择器匹配时,应体现多级。即除了匹配标签或id,还需要考虑后代的圆点数目需多于祖先的数目。注意提示“多级的后代选择器在匹配时,可以采用贪心的策略;除最后一级外,前面的部分都可以尽量匹配层级小的元素。”这句话很重要,即成功匹配一个多级的后代选择器后,匹配下一个时,并不需要从...原创 2019-11-14 21:24:27 · 177 阅读 · 0 评论 -
CCF 201809-2买菜
题目描述问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]…[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d2]…[cn,dn]在装车。其中,一个时间段[s, t]表示的是从时刻s到...原创 2019-11-12 18:43:26 · 187 阅读 · 0 评论 -
CCF 201809-1卖菜
题目描述问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一...原创 2019-11-11 13:54:33 · 146 阅读 · 0 评论 -
CCF 201812-4数据中心
题目描述题解1首先要理解传输时间TmaxT_{max}Tmax的含义,每一层每个结点传输时间(边的权重)的最大值,即树中的最大权重。现在目标是使树中最大权重最小,即所有权重之和最小,即最小生成树。这里使用的Kruskal算法,因为它最后加入到树的边也是树的最大权重,很符合题意。代码 1#include <cstdio>#include <iostream>...原创 2019-11-09 14:40:00 · 222 阅读 · 0 评论 -
CCF 201812-3CIDR合并
题目描述题解ip的存储用一个结构体,int 数组存储ip,len是ip的前缀长度。第一步:ip排序就是结构体排序,可自定义cmp或重载operator <。第二步:从大到小合并。相邻ip,只有在前一个len1小于后一个len2且两个ip的前len1位异或等于0才表示后一个是前一个的子集。第三步:同级归并,相邻ip只有两个前缀长度相等且前len1位异或等于1表示它俩可以合并...原创 2019-11-08 17:11:27 · 327 阅读 · 0 评论 -
CCF 201812-2小明放学
题目描述题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光...原创 2019-11-06 15:41:04 · 177 阅读 · 0 评论 -
CCF 201812-1小明上学
题目描述题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r)...原创 2019-11-05 19:47:37 · 177 阅读 · 0 评论 -
CCF 201903-4消息传递接口
//// Created by Onwaier Lee on 2019-11-04.//#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <algorithm>#include <vector>#in...原创 2019-11-05 12:55:32 · 281 阅读 · 0 评论 -
CCF 201903-3损坏的RAID5
题目描述题解1题目很长,耐心读完题目后,获取以下信息:磁盘的数据分布单元是条带,而条带又是由多个数据块组成。题中的每两个字符构成一个16进制数,代表一个字带。一个数据块的大小是4个字节即8个字符。校验块从右向左依次选择,到达最左边后,再从最右边开始。而数据存储从校验块相邻的下一磁盘块开始。观察子任务1,2,3,4,5都满足l = n,我们先仅考虑磁盘未损坏的情况,这时候只...原创 2019-11-01 13:10:35 · 414 阅读 · 0 评论 -
CCF 201903-2二十四点
题目描述题解1栈的简单应用,中缀表达式的计算。分两步进行:定义操作符的优先级,用栈将中缀表达式转为后缀表达式。再次用栈计算后缀表达式的值。注意:这里只有加减乘除没有括号,可以不特意定义优先级数组。数字是1-9,直接将数字字符转成数字即可,不会有大于10的数字。除法是去尾整除,计算过程不会出现小数,都是整数。代码1//// Created by Onwaier L...原创 2019-10-30 01:25:54 · 325 阅读 · 0 评论 -
CCF 201903-1小中大
题目描述题解1注意求中位数时得到可能是小数或者整数,需要分情况考虑。代码1#include<bits/stdc++.h>using namespace std;const int MAX = 100000 + 5;int arr[MAX];int main(){ //freopen("E:\\a.txt", "r", stdin); int n, maxNum ...原创 2019-10-26 18:28:23 · 221 阅读 · 0 评论 -
CCF 201909-4推荐系统
题目描述题解参照博客注意点:#define NUM 1000000000 会溢出res[t]不用排序技巧 :id用哈希函数 type*10^9 + comm 方便映射 。map存储对应id在set中插入的位置 (关联式容器插入删除元素不影响其它结点的迭代器 )。set.insert()的返回值是pair值<set::iterator, bool> 。...原创 2019-10-24 17:10:09 · 1238 阅读 · 2 评论 -
CCF 201909-3字符画
太复杂了,参见博客,思路很清晰。需要补充的知识是:数字字符串转int,atoi(与stoi(s, 0, 16)),不同的是atoi的参数是char *;stoi的参数是string。int转string用to_string()(c++11支持)。printf("%02X",n),将一个数字用16进制输出,不够2位用0补充。对于命令行中的RGB值,要先将10进制的RGB值转换成字符串,再按...原创 2019-10-22 23:51:19 · 944 阅读 · 2 评论 -
CCF 201909-2小明种苹果(续)
题目描述题解水题, 第一次只得了90分,在E的理解上与题目有偏差。认为只有三棵树时,连续三棵树有苹果掉落的组数最大应该为1,其它2种情况应该是重复的。代码#include<bits/stdc++.h>using namespace std;/*N是苹果棵数 m是操作次数num是输入的操作(>0为统计 <=0为疏果) nowSum统计每棵树的苹果数 to...原创 2019-10-17 14:24:43 · 2114 阅读 · 11 评论 -
CCF 201909-1小明种苹果
题目描述题解无代码#include<bits/stdc++.h>using namespace std;/*N苹果树的棵数 M操作轮数rmNum去掉苹果数 idx疏果个数最多的苹果树的最小编号maxRmNum M轮去掉苹果最多的 tmpRmNum存储去掉苹果数之和 resNum最后一轮所有苹果树剩下的苹果总数 */ int main(){ //freop...原创 2019-10-15 13:34:37 · 333 阅读 · 0 评论