![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CCF
Fmm-PMO
是非在己,毁誉由人,得失不论。
展开
-
【CCF 小明放学】小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式 输入的第一行包原创 2020-12-06 21:34:22 · 187 阅读 · 0 评论 -
【CCF 201903-2】二十四点
简单的表达式计算,逆波兰算法应用。这个题简单,因为没有涉及括号问题,且数字均为1-9,不用判断连续的数字,是前两道题也很正常。先得到后缀表达式,再进行后缀表达式的计算。(这道题在编辑器上我用vscode和Dev都试了,运行一部分就发生异常,不得不终止,说是什么有路径问题,总之就是符号的一些原因,看着没错,直接提交的,过了。)#include <iostream>#include <stack>using namespace std;string houzhui(stri..原创 2020-12-06 09:37:39 · 192 阅读 · 0 评论 -
【CCF 201909-2】小明种苹果(续)
#include <iostream>using namespace std;bool drop[1001] = {false};int main() { int n, m, num; cin >> n; int cnt = 0, app; long long sum = 0; //个数最大10^12次方 for (int i = 0; i < n; i++) { cin >> m; ...原创 2020-12-06 08:51:55 · 114 阅读 · 0 评论 -
【CCF 201912-2】 回收站选址(两种方法)
不能x-1,y,x+1,y+1等这样单独判断,要一个点一个点的判断,注意判断得分是在上下左右四个方位都有垃圾的前提下的。10^9次方,int型足够了,因为2 ^30 = 1024 ^3 > 1000 ^3 = 10 ^9#include <algorithm>#include <iostream>#include <vector>using namespace std;typedef struct { int x; int y;}...原创 2020-12-05 22:29:15 · 297 阅读 · 0 评论 -
【CCF 202006-2】稀疏向量
不能复制粘贴可真难受,这是为了一定程度上增大考试难度,锻炼心态?这题不难,无脑map,对应下标位置处的对应值相乘即可。map默认int的为0,正好存储的稀疏向量也都不为0,正好可以用map来做。但看数据范围就知道了,最大不会超过10^12,我直接long,啊,60分,改成long long过了,一查发现long也是4个字节,我一直都记错了。。。。10 ^12对应2的x次方,其中x介于36和48之间,所以显然要long long#include <iostream>#include &l..原创 2020-12-05 21:05:46 · 187 阅读 · 0 评论 -
【CCF 201403-2】 窗口
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。 现在我们希望你写一个程序模拟点击窗口的过程。输入格式 输入的第一行有两个正整数,即 N 和 M原创 2020-11-21 20:50:14 · 99 阅读 · 0 评论 -
【CCF 201409-3】字符串匹配
问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。 第三行包含一个整数n,表示给出的文字的行数。 接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不原创 2020-11-21 20:16:16 · 153 阅读 · 0 评论 -
【CCF 201509-2】日期计算
问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍; 2) 年份是400的整数倍。输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输入的第二行包含一个整数d,d在1至365之间。输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。样例输入201580样例输出321样例输入原创 2020-11-21 13:51:16 · 179 阅读 · 0 评论 -
【CCF201503-2】数字排序
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 1原创 2020-10-26 13:05:28 · 176 阅读 · 0 评论 -
【CCF201409-2】画图(超简单分析)
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。给出所有要画的矩形,请问总共原创 2020-10-26 08:53:44 · 378 阅读 · 1 评论 -
【CCF201312-2】ISBN号码
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 识别码的计算方法如下: 首位数字乘以1加原创 2020-10-26 08:44:53 · 292 阅读 · 1 评论 -
【CCF202009-2】风险人群筛查
这道题感觉做的麻烦了,正确之后看了其他人的代码,果然是我做麻烦了。。不过这是我第一次想到的思路,总之没错就是好的,毕竟谁也不是每次上来都能用最简单的方法做,注意每个人不能重复计数就好了。想看简单的代码思路的话,可以参考其他人的代码,我的是一种另类思路#include <iostream>using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int n,k,t,...原创 2020-10-01 15:52:58 · 1099 阅读 · 0 评论 -
【CCF202009-1】称检测点查询
题目背景2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。问题描述某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标 。为方便预约核酸检测,请根据市民所在位置 ,查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。输入格式输入共n+1行。第一行包含用空格分隔的三个整数 n、X和Y,表示检测点总数和市民所在位置。第二行到第 n+原创 2020-10-01 14:23:43 · 426 阅读 · 0 评论 -
【CCF201703-1】——分蛋糕
问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。输入格式 输入的第一行包含了两个整数n, k,意义如上所述。原创 2020-09-15 12:52:22 · 169 阅读 · 0 评论 -
【CCF201912-1】——报数
注意,只有不是7的倍数,也不含有7时sum才会自增,直到大于n值,关于7的两种情况满足其一即跳过。甲乙丙丁的计数可以通过数组完成,在判断时注意四个一循环,所以通过对4取余判断即可。#include <iostream>using namespace std;bool ishave(int n){ if(n==0) return false; if(n%7==0) return true; while(n!=0){ if(n%10==7) return true..原创 2020-09-15 12:26:34 · 143 阅读 · 0 评论 -
【CCF-201812-1】——小明上学
题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r) 秒内亮红灯,车辆不许通过;[r, r+g) 秒内亮绿灯,车辆允许通过;[r+g, r+g+y) 秒内亮黄灯,车辆不许通过原创 2020-09-15 10:50:47 · 122 阅读 · 0 评论 -
【CCF-201809-1】——卖菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和i+1。 给定第一天各个商店的菜价,请计算第二天每个商店原创 2020-09-15 10:46:16 · 151 阅读 · 0 评论 -
【CCF】——小明种苹果
第一次看题目,可能会有一点蒙,但看了样例解释,一下就明白了。len用来统计蔬果之后的苹果总数,map容器用来统计第几棵树的蔬果总数,注意第几棵树的下标是从1开始的,所以应为mp[i + 1],第一次这样提交只得了70分,提示运行错误,后来发现|aij|<=10^6啥的,最后的计数可能会超过整型范围,所以为了方便,直接改成了long long,然后完美AC#include <iostream>#include <map>#include <vector>#..原创 2020-09-13 08:54:02 · 166 阅读 · 0 评论 -
【CCF】——小中大(分析)
有最小值、最大值、中位数,很容易想到从小到大排序,再者就是关于中位数的值,奇偶不一样,另一个需要注意的点就是题目中所说的“整数直接输出,涉及分数(其实也就是小数)的情况,四舍五入后保留一位小数输出”,所以偶数组中要判断中间两个数相加的奇偶性,四舍五入在这里完全没有必要考虑进去,因为如果和为奇数,/2.0之后一定是.500等的形式,保留一位小数正好是.5,所以直接按一位小数对其进行输出即可。#include <iostream>#include <algorithm>usin..原创 2020-09-13 08:06:49 · 416 阅读 · 0 评论 -
【CCF】——跳一跳(分析)
问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。 现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。输入格式 输入包含多个数字,用原创 2020-09-13 07:55:43 · 352 阅读 · 0 评论 -
【CCF】——最小差值
问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式 输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明 相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明 有两个相同的数3,它们之间的差值是0.数据规模和约定 对于所有评测用例,2 ≤ n原创 2020-09-12 22:24:01 · 422 阅读 · 0 评论 -
【CCF】——打酱油(分析)
问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。输出格式 输出一个整数,表示小明最多可以得到多少瓶酱油。样例输入40样例输出5样例说明 把40元分成30元和10元,分别买3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。样例输入80样例输出11样例说明 把80元分成30元和5原创 2020-09-12 21:28:25 · 465 阅读 · 0 评论 -
【CCF】——中间数(详细分析)
问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格式 如果约定序列的中间数存在,则输出中间数的值,否则输出-1表示不存在中间数。样例输入62 6 5 6原创 2020-09-12 14:54:52 · 1662 阅读 · 1 评论 -
【CCF】——最大波动
问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天中的最大波动值。样例输入62 5 5 7 3 5样例输出4样例说明 第四天和第五天之间的波动最大,波动值为|3原创 2020-09-12 14:24:14 · 329 阅读 · 0 评论 -
【CCF】—— 折点计数
问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式 输入的第一行包含一个整数n。 第二行包原创 2020-09-12 14:15:38 · 337 阅读 · 0 评论 -
【CCF】——数位之和
问题描述 给定一个十进制整数n,输出n的各位数字之和。输入格式 输入一个整数n。输出格式 输出一个整数,表示答案。样例输入20151220样例输出13样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定 所有评测用例满足:0 ≤ n ≤ 1000000000。#include <iostream>using namespace std;int main(){ ios::sync_with_stdi原创 2020-09-12 14:07:46 · 362 阅读 · 0 评论 -
【CCF】——数列分段
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约原创 2020-09-12 13:44:29 · 340 阅读 · 0 评论 -
【CCF】——图像旋转
问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 3评测用例规模与约定 1 ≤ n原创 2020-09-12 11:52:03 · 297 阅读 · 0 评论 -
【CCF】——门禁系统
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。样例输入51 2 1 1 3样例输出1 1 2 3 1评测用例规模与约定 1≤n≤1,0原创 2020-09-12 11:14:20 · 216 阅读 · 1 评论 -
【CCF】——相邻数对
问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式 输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样例输出3样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数。提交两遍过的题,但bug找了原创 2020-09-11 22:52:34 · 272 阅读 · 0 评论 -
【CCF】——相反数
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。样例输入51 2 3 -1 -2样例输出2一遍过(虽然编译的时候犯了错误,还是靠错误提示过的。。),我的想法就是先将所有的数放入集合中,从第原创 2020-09-11 22:10:16 · 280 阅读 · 2 评论 -
【CCF】线性分类器
人生第一道CSP认证题(并未参加,只是最近总是提这个,就去看了看),按照平时的百分制学科看,我的第一次提交算是及格了。。中间还吃了饭,带了孩子?那看来做的速度还算可以??【样例1输入】9 31 1 A1 0 A1 -1 A2 2 B2 3 B0 1 A3 1 B1 3 B2 0 A0 2 -3-3 0 2-3 1 1【样例1输出】NoNoYes大佬就是大佬,感觉我的学校有好多厉害的人。。自己想了一种用来初始化类别的方式,但是不如大佬写的好,就索性模仿(抄袭,我说原创 2020-08-28 21:22:33 · 300 阅读 · 0 评论 -
【CCF】——出现次数最多的数(两种方式)
问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。样例输入610 1 10 20 30 20样例输出10不能回看代码真难受,,当时原创 2020-09-08 07:58:54 · 630 阅读 · 0 评论