CSP痕迹
为CSP奋斗
残魇犹馨
没有简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CSP 202006-2 稀疏向量(map or pair ?)
先看这段代码,是不是即简洁明了又能完成任务,但是超时了……,只给了60分#include<bits/stdc++.h>using namespace std;int main(){ map<int,int> mp; int n,a,b; cin>>n>>a>>b; for(int i=0; i<a; i++) { int x,y; cin>>x..原创 2020-09-12 14:19:36 · 231 阅读 · 1 评论 -
CSP 201512-2 消除类游戏(C++)
#include<bits/stdc++.h>using namespace std;int main(){ int n,m; cin>>n>>m; int old_square[n][m]; int new_square[n][m]; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cin>原创 2020-09-10 15:17:53 · 309 阅读 · 0 评论 -
CSP 201509-2 日期计算(C++)
#include<bits/stdc++.h>using namespace std;int main(){ int m_res = 1,d_res;//月份与天数的结果 int month1[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int month2[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31}; int year,day; cin>&原创 2020-09-10 15:11:25 · 234 阅读 · 0 评论 -
CSP 201503-2 数字排序(map按value排序)
#include<bits/stdc++.h>using namespace std;typedef pair<int,int> PAIR;bool cmp(PAIR a,PAIR b){ if(a.second != b.second) return a.second>b.second; return a.first<b.first;}int main(){ map<int,int> mp;原创 2020-09-10 15:05:48 · 177 阅读 · 0 评论 -
CSP 201312-2 ISBN号码(C++)
#include<bits/stdc++.h>using namespace std;int main(){ string str; cin>>str; int length = str.length(); int sum = 0; for(int i=0,j = 1; i<str.length()&&j<=9; i++) { if(str[i]>='0'&&s原创 2020-09-10 14:58:54 · 1375 阅读 · 0 评论 -
CSP 201403-2 窗口(C++)
#include<bits/stdc++.h>using namespace std;int big[2600][1500];int main(){ int n,m; cin>>n>>m; int x1[n],x2[n],y1[n],y2[n]; int num = 0; for(int i=0; i<...原创 2020-09-10 14:47:52 · 747 阅读 · 0 评论 -
CSP 201409-2 画图(C++)
#include<bits/stdc++.h>using namespace std;int place[105][105];int main(){ int n; cin>>n; for(int i=1; i<=n; i++) { int x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2; for(int j = x1;原创 2020-09-10 14:38:52 · 242 阅读 · 0 评论 -
CSP 201604-2 俄罗斯方块(C++)
#include<bits/stdc++.h>using namespace std;int big_square[19][10];int small_square[4][4];int cmp (int i,int num){ for(int j=0; j<4; j++) { for(int k=0; k<4; k++) { if(big_square[i+j][k+num-1] == 1&原创 2020-09-10 14:30:27 · 264 阅读 · 0 评论 -
CSP 201609-2 火车购票(C++)
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。 假设初始时车票全部未被购买,现在给了一些购票指令,请你处原创 2020-09-09 11:57:18 · 585 阅读 · 0 评论 -
CSP 201612-2 工资计算(C++)
问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元; 2) A中不超过1500元的部分,税率3%; 3) A中超过1500元未超过4500元的部分,税率10%; 4) A中超过4500元未超过9000元的部分,税率20原创 2020-09-09 10:51:31 · 948 阅读 · 0 评论 -
CSP 201709-2 公共钥匙盒(C++)
#include<bits/stdc++.h>using namespace std;typedef struct timetable{ int id; int time; int flag;}timetable;bool cmp(timetable a,timetable b){ if(a.time!=b.time) return a.time<b.time; if(a.flag!=b.flag)原创 2020-09-09 10:37:26 · 412 阅读 · 0 评论 -
CSP 201703-2 学生排队(vector)
#include<bits/stdc++.h>using namespace std;int main(){ vector<int> que; vector<int>::iterator iter; int n,m; cin>>n>>m; //初始排队情况 for(int i=1; i<=n; i++) que.push_back(i); for(int i原创 2020-09-09 10:25:52 · 457 阅读 · 0 评论 -
CSP 201712-2 游戏(C++)
问题描述有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。 例如,当n=5, k=2时: 1号小朋友报数1; 2号小朋友报数2淘汰; 3号小原创 2020-09-08 09:12:21 · 298 阅读 · 1 评论 -
CSP 201803-2 碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。 现在,告诉你线段的长度L,小原创 2020-09-07 17:34:39 · 121 阅读 · 0 评论 -
CSP 201809-2 买菜
#include <bits/stdc++.h>using namespace std;const int N = 1000000;int t[N];int main(){ int n; cin>>n; int a,b; for(int i=0; i<2*n; i++) { cin>>...原创 2020-09-07 16:27:20 · 131 阅读 · 0 评论 -
CSP 201812-2 小明放学
题目背景汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式输入的第一行包含原创 2020-09-07 15:54:17 · 172 阅读 · 0 评论 -
CSP 201909-2 小明种苹果(续)
题目中没有给出的情况:同一颗果树可能多次掉果字,但掉果子的棵数只需记录一次 #include<bits/stdc++.h>using namespace std;int main(){ int T = 0;//苹果总数 int D = 0;//掉苹果的棵树 int E = 0;//连续掉苹果的情况 int n; cin>>n; int drop[n] = {0};//每棵树掉苹果的情况 ...原创 2020-09-07 09:51:31 · 121 阅读 · 0 评论 -
CSP 201903-2 二十四点 (C++)
答题戳这里stl栈stack的成员函数介绍:empty() 堆栈为空则返回真pop() 移除栈顶元素push() 在栈顶增加元素size() 返回栈中元素数目top() 返回栈顶元素#include <bits/stdc++.h>using namespace std;stack<int> num;stack<char> sign;...原创 2020-09-07 08:49:00 · 224 阅读 · 0 评论 -
CSP 201503-1 图像旋转(C++)
问题描述旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 3评测用例规模与约定1 ≤ n, m原创 2020-09-07 08:37:34 · 246 阅读 · 0 评论 -
CSP 201912-2 回收站选址 (C++pair)
pair是将2个数据组合成一组数据,正好是一个坐标,再加上map,这道题就好做了#include<bits/stdc++.h>using namespace std;pair<int,int> point[1005];int main(){ int res[5] = {0}; map<pair<int,int>,int> mp; int n; cin>>n; for(int i=0;i...原创 2020-09-07 08:37:11 · 202 阅读 · 0 评论 -
CSP 201509-1 数列分段(C++)
问题描述给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式输入的第一行包含一个整数n,表示数列中整数的个数。第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约定原创 2020-09-07 08:38:00 · 440 阅读 · 0 评论 -
CSP 201512-1 数位之和
问题描述给定一个十进制整数n,输出n的各位数字之和。输入格式输入一个整数n。输出格式输出一个整数,表示答案。样例输入20151220样例输出13样例说明20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定所有评测用例满足:0 ≤ n ≤ 1000000000。刚刚好可以用int型,多一个0都不行#include<bits/stdc++.h>using namespace std;int main原创 2020-09-07 08:38:25 · 150 阅读 · 0 评论 -
CSP 201604-1 折点计数(C++)
问题描述给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式输入的第一行包含一个整数n。 第二行原创 2020-09-06 15:28:59 · 230 阅读 · 0 评论 -
CSP 201609-1 最大波动(水题)
问题描述小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式输出一个整数,表示这只股票这n天中的最大波动值。样例输入62 5 5 7 3 5样例输出4样例说明第四天和第五天之间的波动最大,波动值为|3-原创 2020-09-06 15:16:16 · 198 阅读 · 0 评论 -
CSP 201612-1 中间数 (C++)
问题描述在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。给定一个整数序列,请找出这个整数序列的中间数的值。输入格式输入的第一行包含了一个整数n,表示整数序列中数的个数。第二行包含n个正整数,依次表示a1, a2, …, an。输出格式如果约定序列的中间数存在,则输出中间数的值,否则输出-1表示不存在中间数。样例输入62 6 5 6 3 5原创 2020-09-06 14:58:18 · 588 阅读 · 0 评论 -
CSP 201703-1 分蛋糕(C++)
问题描述小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。输入格式输入的第一行包含了两个整数n, k,意义如上所述。 第原创 2020-09-06 14:20:50 · 502 阅读 · 0 评论 -
CSP 201709-1 打酱油 (C++)
问题描述小明带着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-09-06 14:00:36 · 877 阅读 · 0 评论 -
CSP 201712-1 最小差值 (C++)
问题描述给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明有两个相同的数3,它们之间的差值是0.数据规模和约定对于所有评测用例,2 ≤ n原创 2020-09-06 13:46:19 · 286 阅读 · 0 评论 -
CSP 201803-1 跳一跳 (C++)
问题描述近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。 现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。输入格式输入包含多个数字,用空原创 2020-09-06 12:37:21 · 186 阅读 · 0 评论 -
CSP 201809-1 卖菜 (C++)
问题描述在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和i+1。 给定第一天各个商店的菜价,请计算第二天每个商店的原创 2020-09-06 12:01:42 · 217 阅读 · 0 评论 -
CSP 201903-1 小中大 (C++)
需要判断中位数是否是小数 #include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int num[n]; for(int i=0; i<n; i++) cin>>num[i]; sort(num,num+n); int max1 = num[n-1]..原创 2020-09-06 11:37:40 · 239 阅读 · 0 评论 -
CSP 201909-1小明种苹果
#include <bits/stdc++.h>#define MAX 1010using namespace std;int main(){ int m,n; cin>>m>>n;//m为苹果颗数,n为操作数 int T = 0;//所有果树上剩下的总数 int k;//蔬果数最多的果树编号 int p...原创 2020-01-11 15:23:47 · 218 阅读 · 1 评论 -
CSP 201912-1 报数 (C++)
[外链图片转存中…(img-lDytDV56-1599359818573)]#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int num[4] = {0};//甲乙丙丁四个人跳过的次数 int sum = 0;//报出的数字个数 for(int i = 1;sum<n;) { for(int j=0;j<原创 2020-09-06 10:43:25 · 276 阅读 · 0 评论 -
CSP 202006-1 线性分类器 (C++)
#include<bits/stdc++.h>using namespace std;typedef struct point{ int x; int y; char type;} POINT;int main(){ int n,m; cin>>n>>m; POINT test[n]; for(int i=0; i<n; i++) cin>>test[i].x...原创 2020-09-03 10:18:21 · 408 阅读 · 0 评论 -
csp 201812-1 小明上学
戳这里开始答题 最开始想到的是结构体,用结构体将红绿灯的状态和时间连在一起,但是没有得满分。后来注意到输出只有一个数字,可以边输入边计算,不需要那么麻烦也节省空间。计算过程没有很复杂,分情况加时间没有红绿灯直接过,+time红灯等一下,+time绿灯直接过黄灯等一下,+time,黄灯后是红灯再等一下,+time红灯的时间上代码#include <bits/stdc++...原创 2019-08-20 23:12:57 · 158 阅读 · 0 评论 -
CSP 201312-1 出现次数最多的数(C++)
例题原网址心得体会(犯傻经过)本来想尽可能减少循环次数,用输入的最大数字作为最多循环次数,然而事实却是 直接用给出的最大范围才是最省事的 最开始自作聪明将范围改小分数跟着减少了,还是范围大点的好呐,这是代码#include <bits/stdc++.h>using namespace std;int main(){ int n; cin&g...原创 2019-08-20 15:03:38 · 214 阅读 · 0 评论 -
CSP 201409-1 相邻数对 + 201403-1 相反数
答题网站代码如下#include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n]; for(int i=0; i<n; i++) cin>>a[i]; int count1 = 0; ...原创 2019-08-20 14:09:43 · 131 阅读 · 0 评论 -
CSP 201412-1 门禁系统(C++)
点击此处进入答题解题思路:因为每一个数字都要对应一个出现次数,输入完再计数有点困难,所 以输入的同时计算数字出现次数并输出。这里给出c++的代码#include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n] = {0},temp;...原创 2019-08-20 13:53:18 · 272 阅读 · 0 评论
分享