CCF CSP认证
lxss
爱学习
展开
-
【CCF 2020 9】1-称检测点查询
题目分析:计算距离,然后排序代码分析:维护三个变量记录最小值,次小值,次次小值,外加三个记录编号的变量。因为这是获取小值,所以三变量初始值应为一个很大的数。满分C++代码:#include <iostream>#include <cmath>using namespace std;int main(){ int n, c_x, c_y; scanf("%d%d%d", &n, &c_x, &c_y); int x, y; int a =原创 2020-10-05 09:12:55 · 1573 阅读 · 7 评论 -
【CCF 2020 9】2-风险人群筛查
题目分析:序列处理代码分析:flag统计连续时间点t的个数;flag1标记是否经过危险区;flag2标记是否在危险区逗留。利用C语言 && 运算符的短路性,减少点运算满分C++代码:#include <iostream>using namespace std;int main(){ int n, k, t, l_x, l_y, r_x, r_y; scanf("%d%d%d%d%d%d%d", &n, &k, &t, &l_x,原创 2020-10-05 08:51:10 · 2040 阅读 · 0 评论 -
【CCF 2019 3】2-二十四点
题目分析: 只包含加减乘除的简单计算器而且每个数都不超过十,这就降低了难度。代码分析:采用操作数栈和运算符栈做题。当 运算符栈 栈顶运算符 优先级低于 当前运算符,就将当前运算符压入运算符栈;当 运算符栈 栈顶运算符 优先级高于或者同等于 当前运算符,就从操作数栈弹出两个操作数进行运算并将运算结果压入操作数栈,并弹出运算符栈栈顶运算符以及将当前运算符压入栈中。之前一直60分,最近改了改终于满分了。满分C++代码:#include <iostream>#include <cctype原创 2020-08-20 19:25:53 · 167 阅读 · 0 评论 -
【CCF 2020 6】2-稀疏向量
题目分析:求两个维度相同的稀疏向量的内积。代码分析:只找两向量中相同的非零维度。代码只有60分。C++代码:#include <iostream>#include <utility>#include <map>using namespace std;const int N = 5e5 + 10;struct Vector{ int index; int val;};Vector a[N];int main(){ int n, a1, b1,s原创 2020-07-05 19:43:12 · 4185 阅读 · 8 评论 -
【CCF 2020 6】1-线性分类器
题目分析:判断一条直线是否能将两组点集A和B隔开。代码分析:建立坐标结构体,分别用两个数组存储点集A和B。两层for循环判断当前直线是否符合要求。先分别判断点集A和B中的点是否都在直线的一侧,再判断两个点集是否位于直线两侧。满分C++代码: #include <iostream> using namespace std; const int N = 1e3 + 10; struct Point{ int x; int y;}; Point a[N]; Point b原创 2020-07-05 19:35:20 · 4123 阅读 · 0 评论 -
【CCF 2019 12】2-回收站选址
题目分析:可以用两个数组一个存横坐标,一个存纵坐标;也可以用一个结构体数组;也可以用单链表存储坐标。然后单拎出来每个点,扫描整个坐标系就可以了代码分析:fun1()函数,判断是否适合建立垃圾站;fun2()函数为垃圾站打分。但我总觉得扫描坐标系的时候,时间复杂度太高qwq满分C++代码:#include<bits/stdc++.h>using namespace std;st...原创 2019-12-17 16:46:41 · 216 阅读 · 1 评论 -
【CCF 2019 12】1-报数
题目分析:跟之前考过的一个报数题很相似代码分析:总觉得我的时间复杂度不合格满分C++代码:#include<bits/stdc++.husing namespace std;int fun(int x){ if(x%7==0) return 0; while(x){ int p; p = x%10; ...原创 2019-12-17 16:33:56 · 168 阅读 · 0 评论 -
【CCF 2019 9】1-小明种苹果
题目说明:水题自我反思:以后做题尽量先不用数组代码说明:lsum----疏果完成后的总果数fsum----每棵果树刚开始的果子数drop----每棵树掉落的果子数max----掉落的最大果子数w----掉落果子数最大且编号最小的树的编号满分C++代码:#include<iostream>using namespace std; int main(void){ ...原创 2019-11-10 10:18:02 · 378 阅读 · 0 评论 -
【CCF 2019 9】2-小明种苹果(续)
题目分析:读这个第二题比以往第二题要更细心,中间涉及的各种量有点多,但题目说得很明确,最后要给出三个答案,就分开算呗,计算步骤还是挺简单的。题目难点:既要统计发生掉落的苹果棵树,又要统计连续三棵果树掉落的情况的次数。因为题目规定将所有果树围成一个圈,所以第二种情况要好好想想该怎么处理。C++满分代码:#include<iostream>#include<cstring&g...原创 2019-10-10 16:44:49 · 460 阅读 · 0 评论 -
【CCF 2014 9】2-画图
题目思路:统计被涂鸦的方格数,每个方格只能被统计一次。因为坐标面是从(0,0)到(100,100)数据不是很大,所以可以使用标记数组进行存储遍历。C++满分代码:#include<iostream>using namespace std;const int N=100;int xy[N+10][N+10]; int main(){ int n,x1,y1,x2,y2,i,...原创 2019-09-21 10:15:43 · 137 阅读 · 0 评论 -
【CCF 2018 9】2-买菜
题目思路:这道题应该属于签到题,看有的人代码好长,我有点懵逼。每个人时间段都是单调递增的,层次清楚。现在要求两个人重叠的时间段,这不是一个数学公式就搞定了:L=MIN(A2,B2)-MAX(A1,B1)。数据量比较小,直接可以数组保存,直接遍历。思维坑点:给的样例是一般的样例,就是不会出现A的第一组数据都大于B的第五组数据。刚开始我就落入这个思维定势了,写完提交后才10分,一直找不出错来。两天后...原创 2019-09-19 15:32:00 · 110 阅读 · 0 评论 -
【CCF 2015 9】2-日期计算
题目描述:与以前做的题不同,这次是告诉你某一年的第多少天,从而确定这一天是这一年的几月几日题目思路:对比计算,先确定月份再确定第几日题目坑点:出现闰年时候要细心代码缺点:因为处理闰年的原因,代码有点冗长,以后看怎么可以减少一些(感觉至少可以减少一半)C++满分代码:#include<iostream> using namespace std;int main(){ i...原创 2019-09-18 09:01:47 · 152 阅读 · 0 评论 -
【CCF 2013 12】2-ISBN号码
题目思路:用string类处理字符串。判断所有真实的识别码(算出来的)与所给出的识别码(可能真,可能假)题目坑点:当余数为10时,识别码为大写字母X。C++满分代码:#include<iostream>#include<string>using namespace std;int main(){ string s; cin>>s; int T...原创 2019-09-17 18:04:06 · 118 阅读 · 0 评论