
csp认证
缘遇_
你想成为什么样的人,就去做什么样的事
展开
-
【CCF-CSP】202109-2非零段划分
**思路:**把所有小于p的数组元素全部变为0,然后求非零段的最大个数,可以看成,在曲线图上,水平沿y=p切一刀,然后直线上面的段数就是非零段的个数。要想让直线上面的段数最多,直线就得尽量多的从山腰上面切过去。所以最合适的山腰,就是尽量每条线段都经过的数,就是所有线段范围中出现最多数量的数字。设数组b存每种数字的个数。t为最佳的山腰。遍历之后,将所有小于t的数组元素全部置0,然后再便利计算非零段的个数。#include <iostream>#include <algorithm&g.原创 2021-11-21 16:08:43 · 805 阅读 · 0 评论 -
【csp认证】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-09-12 16:18:08 · 194 阅读 · 0 评论 -
【csp认证】201803-2碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。 现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。提示 因原创 2020-09-12 15:53:49 · 133 阅读 · 0 评论 -
【csp认证】201512-1数位之和
问题描述 给定一个十进制整数n,输出n的各位数字之和。输入格式 输入一个整数n。输出格式 输出一个整数,表示答案。样例输入20151220样例输出13代码#include<iostream>#include<cstring>using namespace std;int main(){ string s; cin>>s; int sum=0; for(int i=0;i<s.length();i++){ sum+=(原创 2020-09-09 22:24:41 · 174 阅读 · 0 评论 -
【csp认证】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-09-09 22:20:05 · 212 阅读 · 0 评论 -
(疑惑)【CSP认证】201503-2 数字排序
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 14原创 2020-09-09 21:27:36 · 172 阅读 · 0 评论 -
【csp认证】201409-2画图
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。给出所有要画的矩形,请问总共原创 2020-09-04 23:38:16 · 206 阅读 · 0 评论 -
【csp认证】201403-1相反数
问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。样例输入51 2 3 -1 -2样例输出2越往前,题就越简单,这道题跟上个相邻数对的题几乎一模一样。提示越来越难了,哎#include<原创 2020-09-04 13:33:43 · 131 阅读 · 0 评论 -
【csp认证】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<iost原创 2020-09-04 13:25:31 · 174 阅读 · 0 评论 -
【csp认证】201412-1 门禁系统
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式 输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。样例输入51 2 1 1 3样例输出1 1 2 3 1这道题难住我的点是怎么给数组整体赋初值,刚原创 2020-09-04 13:11:22 · 227 阅读 · 0 评论 -
【csp认证】201503-1 图像旋转(错误详解)
问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 380分代码#include<原创 2020-09-03 23:31:38 · 411 阅读 · 0 评论 -
【csp认证】201509-1数列分段
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约定原创 2020-09-03 22:37:13 · 138 阅读 · 0 评论 -
【csp认证】201903-2二十四点
题目描述在这里不得不吐槽一下,题目是图片格式,数据没有办法复制,这是真的狗。好心的我帮你们把样例打出来,便于你们复制样例输入109+3+4x35+4x5x57-9-9+85x6/5x43+5+7+91x1+9-91x9-5/98/5+6x96x7-3x66x4+4/5样例输出YesNoNoYesYesNoNoNoYesYes上一次做这道题的时候,代码已经写完了,虽然比较繁琐,但感觉思路是一点问题也没有,但是就是运行不通过。隔了好久又做了一遍,竟然一原创 2020-09-02 18:27:10 · 469 阅读 · 0 评论 -
【csp认证】201312-2ISBN号码
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 识别码的计算方法如下: 首位数字乘以1加原创 2020-08-24 16:18:47 · 144 阅读 · 0 评论 -
【csp认证】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<ios原创 2020-08-24 16:02:08 · 179 阅读 · 0 评论 -
【csp认证】201909-1小明种苹果
这道题刚开始做使用了一个二维数组,但是提交之后老是显示80分,运行错误。不知道是哪里的原因,很是纳闷,后来在网上查了一下,是因为第9,10个数据,当N和M同时为1000时,二维数组是不能承受的。一个1000X1000的int数组大概是4M左右,定义这样的数组就会报错。所以这个题使用一维数组。正确代码#include<iostream>using namespace std;int main(){ int n,m; cin>>n>>m; int t=0,k..原创 2020-08-22 10:03:47 · 152 阅读 · 2 评论 -
【csp认证】202006-1线性分类器
#include<bits/stdc++.h>using namespace std;struct dian{ int a,b; char c;};int main(){ int n,m; cin>>n>>m; dian a[n]; for(int i=0;i<n;i++){ cin>>a[i].a>>a[i].b>>a[i].c; } while(m--){ int p1,p2,p3; ...原创 2020-08-22 09:23:44 · 233 阅读 · 0 评论 -
【CSP认证】 201604-1折点数量
问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式 输入的第一行包含一个整数n。 第二行包原创 2020-08-21 11:50:55 · 130 阅读 · 0 评论 -
【csp认证】201609-1最大波动
问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天中的最大波动值。样例输入62 5 5 7 3 5样例输出4样例说明 第四天和第五天之间的波动最大,波动值为|3-7原创 2020-08-21 11:44:02 · 109 阅读 · 0 评论 -
【CSP认证】201612-1中间数
问题描述 在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格式 如果约定序列的中间数存在,则输出中间数的值,否则输出-1表示不存在中间数。样例输入62 6 5 6 3原创 2020-08-21 11:36:48 · 320 阅读 · 0 评论 -
【csp认证】201703-1分蛋糕
问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。输入格式 输入的第一行包含了两个整数n, k,意义如上所述。原创 2020-08-21 11:08:33 · 94 阅读 · 0 评论 -
【csp认证】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元,分原创 2020-08-21 10:29:03 · 178 阅读 · 0 评论 -
【csp认证】201712-1最小差值
问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式 输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式 输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明 相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明 有两个相同的数3,它们之间的差值是0.数据规模和约定 对于所有评测用例,2 ≤ n ≤ 1原创 2020-08-21 10:20:49 · 208 阅读 · 0 评论 -
【csp认证】201803-1跳一跳
问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。 现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。输入格式 输入包含多个数字,用原创 2020-08-21 10:07:11 · 163 阅读 · 0 评论 -
201809-1 卖菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和i+1。 给定第一天各个商店的菜价,请计算第二天每个商店原创 2020-08-21 09:46:58 · 141 阅读 · 0 评论 -
【csp认证】201812-1小明上学
题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r) 秒内亮红灯,车辆不许通过;[r, r+g) 秒内亮绿灯,车辆允许通过;[r+g, r+g+y) 秒内亮黄灯,车辆不许通过原创 2020-08-21 09:39:49 · 124 阅读 · 0 评论 -
【csp认证】201912-1报数
代码#include<iostream>using namespace std;int main(){ int n; cin>>n; int num=0,a=0,b=0,c=0,d=0; for(int i=1;;i++){ int flag=0; if(i%7==0) flag=1; int j=i; while(j>0){ if(j%10==7){ flag=1; break; } j/=10; }.原创 2020-08-19 22:11:05 · 160 阅读 · 0 评论