CCF认证
小蓝姐姐超会玩
这个作者很懒,什么都没留下…
展开
-
CCF认证 202009-2风险人群筛查
题目背景某地疫情爆发后,出于“应检尽检”的原则,我们想要通知所有近期经过该高危区域的居民参与核酸检测。题目描述想要找出经过高危区域的居民,分析位置记录是一种简单有效的方法。具体来说,一位居民的位置记录包含 t 个平面坐标 (x1,y1),(x2,y2),⋯,(xt,yt),其中 (xi,yi) 表示该居民 i 时刻所在位置。 高危区域则可以抽象为一个矩形区域(含边界),左下角和右上角的坐标分别为 (xl,yd) 和 (xr,yu),满足 xl<xr 且 yd<yu。考虑某位居民的位置记原创 2020-09-21 16:36:09 · 870 阅读 · 0 评论 -
CCF认证 202009-1检测点查询
样例1输入:3 2 22 22 32 4样例2输入:5 0 1-1 00 01 00 2-1 2#include<cstdio>#include<algorithm>using namespace std;struct dis{ int num;//检测点编号 int x; int y; int distance;//与市民的距离}a[201];bool cmp(dis b,dis c){ if(b.distance!=c.dis..原创 2020-09-21 16:15:56 · 377 阅读 · 0 评论 -
CCF认证 201812-2小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式 输入的第一行包原创 2020-09-02 15:44:22 · 150 阅读 · 0 评论 -
CCF认证 201812-1小明上学
题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r) 秒内亮红灯,车辆不许通过;[r, r+g) 秒内亮绿灯,车辆允许通过;[r+g, r+g+y) 秒内亮黄灯,车辆不许通过原创 2020-09-02 15:42:38 · 151 阅读 · 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到时刻t这段时间,时长为t-s。 由于他们是好朋友,他们都在广场上装车的时候会聊天,他们想知道他们可以聊多长时间。输入原创 2020-08-31 11:48:27 · 102 阅读 · 0 评论 -
CCF认证 201809-1卖菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和i+1。 给定第一天各个商店的菜价,请计算第二天每个商店原创 2020-08-31 11:37:14 · 96 阅读 · 0 评论 -
CCF认证 201803-2碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。 现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。提示 因原创 2020-08-30 17:19:26 · 87 阅读 · 0 评论 -
CCF认证 201909-2小明种苹果(续)
#include<cstdio>int a[1000];int b[1000];//存放苹果个数>0的果树编号(a[i]大于0的下标) int c[1000];//存放第i棵树的掉落情况int main(){ int N; scanf("%d",&N); int m; int T=0,D=0,E=0; for(int i=1;i<=N;i++) { int num=0; scanf("%d",&m); for(int j=1;...原创 2020-08-29 16:29:35 · 109 阅读 · 0 评论 -
CCF认证 201909-1小明种苹果
#include<cstdio>#include<math.h>int a[1000];int b[1000]={0};//记录每一轮疏果的个数 int main(){ int N,M; scanf("%d%d",&N,&M); int T=0,K=1,P; for(int i=1;i<=N;i++) { for(int j=1;j<=M+1;j++) { scanf("%d",&a[j]); T+=a[..原创 2020-08-29 16:27:11 · 72 阅读 · 0 评论 -
CCF认证 201903-1小中大
#include<cstdio>#include<algorithm>using namespace std;int a[100000];void cmp(int mid,int min){ if(mid>min) { printf("%d %d",mid,min); } else { printf("%d %d",min,mid); } } int main(){ int n; int min,m..原创 2020-08-25 22:45:05 · 135 阅读 · 0 评论 -
CCF认证 201803-1跳一跳
问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。 现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。输入格式 输入包含多个数字,用原创 2020-08-25 22:41:35 · 121 阅读 · 0 评论 -
CCF认证 201712-2游戏
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。 例如,当n=5, k=2时: 1号小朋友报数1; 2号小朋友报数2淘汰; 3号原创 2020-08-23 22:38:59 · 106 阅读 · 0 评论 -
CCF认证 201712-1最小差值
问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式 输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明 相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明 有两个相同的数3,它们之间的差值是0.数据规模和约定 对于所有评测用例,2 ≤ n ≤ 1000,原创 2020-08-23 22:34:30 · 103 阅读 · 0 评论 -
CCF认证 201912-2回收站选址
#include<cstdio>struct garbage{ int x; int y;}a[1001];int n;int judge(int x,int y){ for(int i=0;i<n;i++) { if(a[i].x==x&&a[i].y==y) return 1; } return 0;}int Islocation(garbage b)//判断是否为回收点 { if(judge(b.x,b.y+1)&...原创 2020-08-15 15:43:03 · 93 阅读 · 0 评论 -
CCF认证 201912-1报数
#include<cstdio>int judge(int x){ if(x%7==0) return 1; else { while(x) { if(x%10==7) { return 1; } else{ x=x/10; } } } return 0;}int main(){ int n; int a[3]={0}; scanf("%d",&n); int num=1,co..原创 2020-08-15 15:39:59 · 115 阅读 · 0 评论 -
CCF认证 202006-2稀疏向量
#include<cstdio>#include<vector>#include<algorithm>using namespace std;vector<pair<int, int> > sa, sb;int main() { int n,a,b; long long int uv=0; //uv的乘积可能会大于10的9次方 scanf("%d%d%d", &n, &a, &b); int ..原创 2020-08-14 23:34:48 · 139 阅读 · 0 评论 -
CCF认证 202006-1线性分类器
#include<cstdio>#include<cstring>struct cla{ int x; int y;}classa[1001],classb[1001]; int main(){ int n,m; scanf("%d%d",&n,&m); int u,v; char w; int n1=0,n2=0; while(n>0) { scanf("%d%d",&u,&v); getchar...原创 2020-08-14 23:23:41 · 173 阅读 · 0 评论 -
CCF认证 201709-1打酱油
问题描述 小明带着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元和50元,分别买3瓶原创 2020-08-08 17:25:32 · 100 阅读 · 0 评论 -
CCF认证 201703-2排队
问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8; 1)第一次调整,命令为“3号同学向后移动2”,表示3号同学出队,向后移动2名同学的距离,再插入到队列中,新队列中学生的学号依次为1, 2, 4, 5, 3,原创 2020-08-08 17:22:56 · 63 阅读 · 0 评论 -
CCF认证201703-1分蛋糕
问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。输入格式 输入的第一行包含了两个整数n, k,意义如上所述。原创 2020-08-08 00:15:25 · 131 阅读 · 0 评论 -
CCF认证201612-2工资计算
问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元; 2) A中不超过1500元的部分,税率3%; 3) A中超过1500元未超过4500元的部分,税率10%; 4) A中超过4500元未超过9000元的部分,税率20%; 5)原创 2020-08-07 23:00:01 · 138 阅读 · 0 评论 -
CCF认证201612-1中间数
问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格式 如果约定序列的中间数存在,则输出中间数的值,否则输出-1表示不存在中间数。样例输入62 6 5 6 3原创 2020-08-07 22:58:11 · 93 阅读 · 0 评论 -
CCF认证 201609-1最大波动
问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天中的最大波动值。样例输入62 5 5 7 3 5样例输出4样例说明 第四天和第五天之间的波动最大,波动值为|3-7|=原创 2020-08-06 23:03:39 · 81 阅读 · 0 评论 -
CCF认证 201604-1折点计数
问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式 输入的第一行包含一个整数n。 第二行包原创 2020-08-06 23:02:09 · 94 阅读 · 0 评论 -
CCF认证201512-2消除类游戏
问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。输入格式 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。 接下来n行,原创 2020-08-05 23:18:47 · 108 阅读 · 0 评论 -
CCF认证201512-1数位之和
问题描述给定一个十进制整数n,输出n的各位数字之和。输入格式输入一个整数n。输出格式输出一个整数,表示答案。样例输入20151220样例输出13样例说明20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定所有评测用例满足:0 ≤ n ≤ 1000000000。#include<cstdio>int main(){ int n,sum=0; scanf("%d",&n); while(n!=0) { sum+=原创 2020-08-05 23:15:57 · 114 阅读 · 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样例输入200原创 2020-08-04 23:46:35 · 95 阅读 · 0 评论 -
CCF认证201509-1数列分段
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约定1原创 2020-08-04 23:44:50 · 234 阅读 · 0 评论 -
CCF认证201503-2数字排序
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 14 1原创 2020-08-04 23:43:20 · 114 阅读 · 0 评论 -
CCF认证201503-1图像旋转
问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 3评测用例规模与约定1 ≤ n, m ≤原创 2020-08-04 23:41:14 · 203 阅读 · 0 评论 -
CCF认证 201412-2Z字形扫描
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行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 9 7 3 9 5 4 7 3 6 6 4 1 3请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。输入格式 输入的第一行包含一个整数n,表示矩阵的原创 2020-08-04 23:39:26 · 199 阅读 · 0 评论 -
CCF认证 201412-1门禁系统
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。样例输入51 2 1 1 3样例输出1 1 2 3 1评测用例规模与约定1≤n≤1,000,读者的原创 2020-08-04 23:16:53 · 112 阅读 · 0 评论 -
CCF认证 201409-2画图
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。给出所有要画的矩形,请问总共原创 2020-07-31 23:12:04 · 119 阅读 · 0 评论 -
CCF认证 201409-1相邻数对
问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式 输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样例输出3样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数。#include<cstdio原创 2020-07-30 22:49:49 · 127 阅读 · 0 评论 -
CCF认证 201403-1 相反数
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。样例输入51 2 3 -1 -2样例输出2代码(1):数组遍历#include<cstdio>#include<algorit原创 2020-07-30 17:54:32 · 110 阅读 · 0 评论 -
CCF认证 201312-2 ISBN号码
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 识别码的计算方法如下: 首位数字乘以1加原创 2020-07-30 17:50:46 · 105 阅读 · 0 评论 -
CCF 201312-1出现次数最多的数
问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。样例输入610 1 10 20 30 20样例输出10#include<cstdi原创 2020-07-30 17:47:54 · 103 阅读 · 0 评论