
CCF真题
折纸鹤
这个作者很懒,什么都没留下…
展开
-
CCF201909-2 小明种苹果(续)(JAVA)
解题思路:这道题需要我们算出T、D、E,而这三个量都可以在每次读入输入数据时对其进行更新,从而在读完全部输入数据时得到的T、D、E就是我们的最终所求。因此,对于这道题,我们可以采用无遍历的方式来做:对于T来说,如果树a本次操作是非正值(疏果操作)那么进行累加,是正值(统计操作)则进行替换。最终将每棵树得到的Ta进行累加则可算出T。对于D来说,如果某棵树某次的统计操作结果!=...原创 2019-11-15 10:37:13 · 359 阅读 · 0 评论 -
CCF201909-1 小明种苹果(JAVA)
解题思路:由于题目只需要求算T、k、P即可,所以我们可以在每次把数据读入时对数据进行及时的处理,而并不需要将每次疏果的个数存储过后再进行遍历,以免造成空间的浪费。依据题意,我们每一轮可以读入M+1条数据,总的T可以由每一轮得到的Ti累加而得到,而每一轮的Ti可由每一轮的初始苹果个数(每轮读入的第一条数据)- 每一轮的Pi(每轮读入的后M条数据绝对值之和)得到。因此我们只需要用数组的将每...原创 2019-11-14 15:51:33 · 267 阅读 · 0 评论 -
CCF201409-2 画图(JAVA)
问 题 描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有...原创 2018-11-26 11:31:55 · 195 阅读 · 1 评论 -
CCF201412-1 门禁系统(JAVA)
问 题 描述: 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。...原创 2018-11-22 09:49:56 · 248 阅读 · 0 评论 -
CCF201503-2 数字排序(JAVA)
问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。 输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的...原创 2018-11-21 17:31:28 · 315 阅读 · 0 评论 -
CCF201503-1 图像旋转(JAVA)
问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。 输出格式 ...原创 2018-11-21 17:28:18 · 254 阅读 · 0 评论 -
CCF201604-2 俄罗斯方块(JAVA)
问 题 描述: 问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的方块上...原创 2018-11-15 11:16:50 · 205 阅读 · 0 评论 -
CCF201604-1 折点计算(JAVA)
问 题 描述: 问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折...原创 2018-11-15 11:10:30 · 415 阅读 · 0 评论 -
CCF201509-2 日期计算(JAVA)
问题描述: 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍; 2) 年份是400的整数倍。 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 ...原创 2018-11-19 09:47:59 · 278 阅读 · 0 评论 -
CCF201409-1 相邻数对(JAVA)
问题描述: 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对的个数。 样例输入 6 10 2 6 3 7 8 样例输出 3...原创 2018-11-26 11:34:06 · 175 阅读 · 1 评论 -
CCF201403-1 相反数(JAVA)
问题描述: 问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。 输出格式 只输出一个整数,即这...原创 2018-11-27 09:40:10 · 239 阅读 · 0 评论 -
CCF201703-3 Markdown(JAVA)
问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lightweight markup language),广泛用于撰写带格式的文档。例如以下这段文本就是用 Markdown 的语法写成的: 这些用 Markdown 写成的文本,尽管本身是纯文本格式,然而读者可以很容易地看出它的文档结构。同时,还有很多工具可以自动把 Markdown 文本转...原创 2018-12-16 09:56:48 · 259 阅读 · 0 评论 -
CCF201709-3 JSON查询(JAVA)
问 题 描述: 问题描述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据。JSON 格式中的基本单元是值 (value),出于简化的目的本题只涉及 2 种类型的值: * 字符串 (string):字符串是由双引号 " 括起来的一组字符(可以为空)。如...原创 2018-12-10 20:20:48 · 243 阅读 · 4 评论 -
CCF201312-1 出现次数最多的数(JAVA)
问题描述: 问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。 输出格式...原创 2018-12-11 09:23:14 · 655 阅读 · 2 评论 -
CCF201312-2 ISBN号码(JAVA)
问 题 描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一...原创 2018-12-11 15:40:22 · 293 阅读 · 0 评论 -
CCF201812-1 小明上学(JAVA)
问 题 描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 ...原创 2019-03-13 09:40:24 · 230 阅读 · 0 评论 -
CCF201812-2 小明放学(JAVA)
问 题 描 述: 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。 问题描述 一次放学的时候,小明已...原创 2019-03-13 15:27:17 · 1218 阅读 · 0 评论 -
CCF201903-2 二十四点(JAVA)
解题思路: 由于题中所给出的式子为字符串形式且为多项式,故计算机无法直接解析算式。所以需要设计一种解析算法,这其中最大的难点便是优先级问题。对于该问题,我们可以利用数据结构中的栈来解决,即:我们按照运算符的位置对算式进行扫描,首先判断运算符种类,然后再处理运算符前后的两个数字。对于乘除号我们计算前后两数结果后将结果存储入栈中。对于加减号,我们把前后两数连同符号(作正负数处...原创 2019-07-15 10:53:14 · 1040 阅读 · 8 评论 -
CCF201903-1 小中大(JAVA)
解题思路: 由于题目中的序列为有序序列,因此只需判断序列的升序或降序即可确定最大的数与最小的数以及中位数。另外,由于序列为整数序列,所以不会出现两位小数及以上的情况,故四舍五入无需考虑。本题最大的难点应该是对于中位数数据类型的把握,若中位数非整数,则使用float类型,以保留一位小数。若为整数则使用int类型,只保留整数部分。测试案例供复制:3-1...原创 2019-07-16 09:11:48 · 321 阅读 · 0 评论 -
CCF201509-1 数列分段(JAVA)
问题描述: 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。 输出格式 输出一个整数,表示给定的数列有多个段。 样例输入...原创 2019-12-31 09:42:23 · 277 阅读 · 1 评论 -
CCF201512-2 消除类游戏(JAVA)
问 题 描述: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,...原创 2018-11-16 15:23:00 · 280 阅读 · 0 评论 -
CCF201712-1 最小差值(JAVA)
问题描述: 问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。 输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。 输出格式 输出一个整数,表示答案。 样例输入 5 1 5 4 8 20 样例输出 1...原创 2018-11-05 15:43:57 · 323 阅读 · 1 评论 -
CCF201709-2 公共钥匙盒(JAVA)
问题描述: 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 ...原创 2018-11-07 15:34:23 · 271 阅读 · 0 评论 -
CCF201709-1 打酱油(JAVA)
问题描述: 问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。 输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。 输出格式 输出一个整数,表示小明最多可以得到多少瓶酱油。 样例输入...原创 2018-11-07 15:28:36 · 168 阅读 · 0 评论 -
CCF201809-1 卖菜(JAVA)
问 题 描述 : 问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法...原创 2018-10-30 09:28:08 · 840 阅读 · 2 评论 -
CCF201403-2 窗口(JAVA)
问 题 描述 : 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有...原创 2018-10-31 16:53:54 · 202 阅读 · 0 评论 -
CCF201809-2 买菜(JAVA)
问 题 描述 : 问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]...[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d...原创 2018-10-30 09:07:17 · 320 阅读 · 0 评论 -
CCF201803-2 碰撞的小球(JAVA)
碰撞的小球问题描述数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。现...原创 2018-10-29 10:26:25 · 252 阅读 · 0 评论 -
CCF201712-2 游戏(JAVA)
问题描述: 问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,...原创 2018-11-05 15:48:32 · 156 阅读 · 0 评论 -
CCF201612-1 中间数(JAVA)
问 题 描述: 问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。 输入格式 输入的第一行包含了一个整数n,表...原创 2018-11-13 17:04:13 · 335 阅读 · 0 评论 -
CCF201512-1 数位之和(JAVA)
试题编号: 201512-1 试题名称: 数位之和 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出...原创 2018-11-16 15:19:22 · 208 阅读 · 0 评论 -
CCF201609-3 炉石传说(JAVA)
问 题 描述: 问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下: * 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生...原创 2018-11-14 17:47:24 · 194 阅读 · 0 评论 -
CCF201412-2 Z字形扫描(JAVA)
问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行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字形扫描后得到长度为16的序列: 1 5 3...原创 2018-11-12 17:16:34 · 222 阅读 · 0 评论 -
CCF201609-2 火车购票(JAVA)
问 题 描述: 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几...原创 2018-11-14 10:54:17 · 216 阅读 · 0 评论 -
CCF201609-1 最大波动(JAVA)
问 题 描述: 问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整...原创 2018-11-14 10:52:08 · 181 阅读 · 0 评论 -
CCF201703-2 学生排队(JAVA)
问题描述: 问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8;...原创 2018-11-12 11:14:39 · 254 阅读 · 0 评论 -
CCF201703-1 分蛋糕(JAVA)
问题描述: 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总...原创 2018-11-12 11:11:38 · 231 阅读 · 0 评论 -
CCF201612-2 工资计算(JAVA)
问 题 描述: 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元; ...原创 2018-11-13 17:07:15 · 186 阅读 · 0 评论 -
CCF201803-1 跳一跳(JAVA)
近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得 分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8...)。 ...原创 2018-10-29 10:21:16 · 512 阅读 · 0 评论