CCF认证
提供历届CCF认证的真题和本人AC的程序代码,以及以些简单的解题思路。不过本人能力有限,有些题目还没做出来,还在努力中。同时解题方法多样,程序设计灵活,所以这不是唯一的,更不是最好的答案。共同学习!
Moilk_nepho
http://moilk.org/
展开
-
CCF 201612-4 压缩编码
原文地址: http://moilk.org/blog/2016/12/27/ccf2016124/问题描述 给定一段文字,已知单词a1, a2, …, an出现的频率分别t1, t2, …, tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。 使用前缀码编码一段文字是指将这段文字中的每个单原创 2017-03-10 12:01:10 · 1454 阅读 · 0 评论 -
CCF 201612-1 中间数
原文地址: http://moilk.org/blog/2016/12/27/ccf2016121/ 问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。 输入格式 输入的第一行包含了一原创 2016-12-27 17:10:54 · 4232 阅读 · 4 评论 -
CCF 201612-2 工资计算
原文地址: http://moilk.org/blog/2016/12/27/ccf2016122/ 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得原创 2016-12-27 17:12:32 · 3788 阅读 · 2 评论 -
CCF 201612-3 权限查询
原文地址: http://moilk.org/blog/2016/12/27/ccf2016123/ 问题描述 授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。 本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例如,用户 david 具有 manager 角色,manager 角色有 c原创 2016-12-27 17:15:01 · 1788 阅读 · 2 评论 -
CCF 201609-1 最大波动
原文地址: http://moilk.org/blog/2016/10/27/ccf2016091/问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含原创 2016-10-27 22:02:59 · 1115 阅读 · 0 评论 -
CCF 201609-2 火车购票
原文地址: http://moilk.org/blog/2016/10/27/ccf2016092/问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超原创 2016-10-27 22:04:08 · 2596 阅读 · 4 评论 -
CCF 201609-3 炉石传说
原文地址: http://moilk.org/blog/2016/10/27/ccf2016093/问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下: 玩家会控制一些角原创 2016-10-27 22:06:15 · 1676 阅读 · 0 评论 -
CCF 201609-4 交通规划
原文地址: http://moilk.org/blog/2016/10/27/ccf2016094/问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可原创 2016-10-27 22:07:42 · 7106 阅读 · 6 评论 -
CCF 201403-1 相反数
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。 输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。 样例输入 5 1 2原创 2016-09-05 18:52:48 · 361 阅读 · 0 评论 -
CCF 201403-2 窗口
原文地址: http://moilk.org/blog/2016/09/05/ccf2014032/问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会原创 2016-09-05 18:57:42 · 390 阅读 · 0 评论 -
CCF 201403-4 无线网络
原文地址: http://moilk.org/blog/2016/09/05/ccf2014034/问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。 除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。 你的目标是使得第 1 个路由器和原创 2016-09-05 19:00:28 · 818 阅读 · 0 评论 -
CCF 201409-1 相邻数对
原文地址: http://moilk.org/blog/2016/09/05/ccf2014091/问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。 样例输入 6 10 2 6 3 7 8原创 2016-09-05 19:01:28 · 396 阅读 · 0 评论 -
CCF 201409-2 画图
原文地址: http://moilk.org/blog/2016/09/05/ccf2014092/问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝原创 2016-09-05 19:02:11 · 516 阅读 · 0 评论 -
CCF 201409-3 字符串匹配
原文地址: http://moilk.org/blog/2016/09/05/ccf2014093/问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。原创 2016-09-05 19:03:01 · 523 阅读 · 0 评论 -
CCF 201409-4 最优配餐
原文地址: http://moilk.org/blog/2016/09/05/ccf2014094/问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注原创 2016-09-05 19:04:16 · 732 阅读 · 0 评论 -
CCF 201412-1 门禁系统
原文地址: http://moilk.org/blog/2016/09/05/ccf2014121/问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位原创 2016-09-05 19:08:17 · 739 阅读 · 0 评论 -
CCF 201412-2 Z字形扫描
原文地址: http://moilk.org/blog/2016/09/05/ccf2014122/问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形原创 2016-09-05 19:09:55 · 494 阅读 · 0 评论 -
CCF 201412-3 集合竞价
原文地址: http://moilk.org/blog/2016/09/05/ccf2014123/问题描述 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。 该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种: 1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。 2. sell p s 表示一个原创 2016-09-05 19:10:47 · 609 阅读 · 1 评论 -
CCF 201412-4 最优灌溉
原文地址: http://moilk.org/blog/2016/09/05/ccf2014124/问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。原创 2016-09-05 19:11:37 · 719 阅读 · 0 评论 -
CCF 201503-1 图像旋转
原文地址: http://moilk.org/blog/2016/09/05/ccf2015031/问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数原创 2016-09-05 19:12:17 · 500 阅读 · 0 评论 -
CCF 201503-2 数字排序
原文地址: http://moilk.org/blog/2016/09/05/ccf2015032/问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。 输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数原创 2016-09-05 19:12:58 · 396 阅读 · 0 评论 -
CCF 201503-3 节日
原文地址: http://moilk.org/blog/2016/09/05/ccf2015033/问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。 现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。 提原创 2016-09-05 19:13:42 · 553 阅读 · 0 评论 -
CCF 201503-4 网络延时
原文地址: http://moilk.org/blog/2016/09/05/ccf2015034/问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。 当信息在电原创 2016-09-05 19:14:17 · 909 阅读 · 0 评论 -
CCF 201509-2 日期计算
原文地址: http://moilk.org/blog/2016/09/05/ccf2015092/问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍; 2) 年份是400的整数倍。 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到201原创 2016-09-05 19:15:41 · 463 阅读 · 0 评论 -
CCF 201509-3 模板生成系统
原文地址: http://moilk.org/blog/2016/09/05/ccf2015093/问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerry 时,网页的源代码是 这样的例子在包含动态内容的网站中还有很多。为原创 2016-09-05 19:17:27 · 350 阅读 · 0 评论 -
CCF 201509-4 高速公路
原文地址: http://moilk.org/blog/2016/09/07/ccf2015094/问题描述 某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路。 现在,大臣们帮国王拟了一个修高速公路的计划。看了计划后,国王发现,有些城市之间可以通过高速公路直接(不经过其他城市)或间接(经过原创 2016-09-07 13:06:01 · 763 阅读 · 0 评论 -
CCF 201403-3 命令行选项
原文地址: http://moilk.org/blog/2016/09/05/ccf2014033/问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含一 些不是选项的参数。 选项原创 2016-09-09 14:35:53 · 1155 阅读 · 0 评论 -
CCF 201604-4 游戏
原文地址: http://moilk.org/blog/2016/09/09/ccf2016044/问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列原创 2016-09-09 14:36:55 · 1464 阅读 · 0 评论 -
CCF 201604-3 路径解析
问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X、原创 2016-09-09 14:38:09 · 786 阅读 · 4 评论 -
CCF 201604-2 俄罗斯方块
原文地址: http://moilk.org/blog/2016/09/09/ccf2016042/问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块原创 2016-09-09 14:38:57 · 624 阅读 · 0 评论 -
CCF 201604-1 折点计数
原文地址: http://moilk.org/blog/2016/09/09/ccf2016041/问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 给定n个整数a1, a2, …, an表示销售量,原创 2016-09-09 14:40:11 · 528 阅读 · 0 评论 -
CCF 201512-4 送货
原文地址: http://moilk.org/blog/2016/09/09/ccf2015124/问题描述 为了增加公司收入,F公司新开设了物流业务。由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道。然而,F公司现在只安排了小明一个人负责所有街道的服务。 任务虽然繁重,但是小明有足够的信心,他拿到了城市的地图,准备研究最好的方案。城市中有原创 2016-09-09 14:41:40 · 904 阅读 · 0 评论 -
CCF 201512-3 画图
原文地址: http://moilk.org/blog/2016/09/09/ccf2015123/问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作: Ÿ 画线:给出两个端点的坐标,画一条连原创 2016-09-09 14:44:07 · 543 阅读 · 0 评论 -
CCF 201512-2 消除类游戏
原文地址: http://moilk.org/blog/2016/09/09/ccf2015122/问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘中原创 2016-09-09 14:45:04 · 601 阅读 · 0 评论 -
CCF 201512-1 数位之和
原文地址: http://moilk.org/blog/2016/09/09/ccf2015121/问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。 评测用例原创 2016-09-09 14:45:48 · 397 阅读 · 0 评论