- 博客(16)
- 收藏
- 关注
原创 CCF 201712-2 游戏 (C++)
201712-2 游戏 试题编号: 201712-2 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述 解题过程 这是一道简化的约瑟夫环问题,淘汰规则简化且没有过多要求。 通过数组表示所有人员、循环模拟报数过程,直接解题即可。 AC代码 #include<iostream> using namespace std; int main() { int n,k; cin>>n>>k; int p[n+1]={0}; int i=1,b=
2020-09-20 15:56:02
551
原创 CCF 201712-1 最小差值 (C++)
201712-1 最小差值 试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0MB 问题描述 解题过程 本题可用动态规划方法求解,但通过观察数据规模发现n最大为1000。 所以我们直接循环暴力解题即可。 AC代码 #include<iostream> #include<cmath> using namespace std; int main() { int n; cin>>n; int num[n]; for(in
2020-09-20 15:42:27
373
原创 CCF 201803-2 碰撞的小球 (C++)
201803-2 碰撞的小球 试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述 解题过程 按题意解,n的规模并不大直接用数组即可。 题目中有提示,故直接简单模拟小球运动倒计时得到最终位置。 AC代码 #include<iostream> using namespace std; int main() { int n,l,t; cin>>n>>l>>t; int a[n],b[n];//a
2020-08-25 17:00:58
388
原创 CCF 201803-1 跳一跳 (C++)
201803-1 跳一跳 试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 解题过程 按题意解即可,这里代码仅用栈容器来记录是否为第一次跳跃,采用其他方法均可。 AC代码 #include<iostream> #include<stack> using namespace std; int main() { int sum=0; stack<int> s; int n; int now=2;//表示
2020-08-25 16:54:17
967
原创 CCF 201809-2 买菜 (C++)
201809-2 买菜 试题编号: 201809-2 试题名称: 买菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 解题过程 此题直接暴力解即可。 这里采用一个模拟时间点的数组,当有人在某个时间点出现那么就+1。 最后判断有几个时间点为2即可找到重叠时间段。 AC代码 #include<iostream> #include<algorithm> using namespace std; const int N=1000000; /*数组过大,须在主函数外部定义
2020-08-12 18:47:11
864
1
原创 CCF 201809-1 卖菜 (C++)
201809-1 卖菜 试题编号: 201809-1 试题名称: 卖菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 解题过程 直接按照题意编写即可。 这里使用两个数组实现没有难度。 AC代码 #include<iostream> using namespace std; int main() { int n; cin>>n; int p1[n];//第一天价格 for(int i=0;i<n;i++) cin>>p1[i]; i
2020-08-12 18:41:23
378
原创 CCF 201812-2 小明放学 (C++)
201812-2 小明放学 试题编号: 201812-2 试题名称: 小明放学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 需要注意的点是输入的是出发时刻的红绿灯情况,当我们到达相应的红绿灯时,可能亮灯情况已经发生改变,要考虑所有情况。 AC代码 #include<iostream> using namespace std; int main() { int r,y,g; cin>>r>>y>>g; int n; cin
2020-08-11 20:10:57
563
原创 CCF 201812-1 小明上学 (C++)
201812-1 小明上学 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 本题理解与实现都很简单,直接按照题意编写代码即可。 AC代码 #include<iostream> using namespace std; int main() { int r,y,g; cin>>r>>y>>g; int n; cin>>n; int sum=0; int k,t
2020-08-11 19:46:15
879
原创 CCF 201903-2 二十四点 (C++)
201903-2 二十四点 试题编号: 201903-2 试题名称: 二十四点 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题思路 经典的使用栈解决优先级运算问题。 四则运算中,乘除比加减优先级高。 这里用的是一个数字栈和一个符号栈分别存储数字和运算符。通过判断进入符号栈中的运算符来解决优先级问题。 AC代码 #include<iostream> #include<stack> #include<string> using namespace st
2020-08-10 15:50:07
662
1
原创 CCF 201903-1 小中大 (C++)
201903-1 小中大 试题编号: 201903-1 试题名称: 小中大 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 按题意解题即可。 由于输入的均是整数,故中位数的结果最多也就一位小数,不用考虑舍入。 AC代码 #include<iostream> #include<algorithm> using namespace std; int main() { int n; cin>>n; int num[n]; for(int i=
2020-08-10 15:01:15
433
原创 CCF 201909-2 小明种苹果(续) (C++)
201909-2 小明种苹果(续) 试题编号: 201909-2 试题名称: 小明种苹果(续) 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 第一次写这道题是在CCF考试上,拿了90分,再次回顾时发现是自己多考虑了(或者说是题目没描述清楚)。 求总数和掉落棵数应该都不难,和上题差不多思路。 这里求连续掉落组数时,如果只有3棵树,且每棵都有掉落。那么该有3组还是1组呢?我认为题目并没有表达出来,所以在初次做题时我考虑了这点并且认为这种情况是只有1组。 这里用的是循环队列的方式模拟这
2020-08-08 16:38:39
412
原创 CCF 201909-1 小明种苹果 (C++)
201909-1 小明种苹果 试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 问题描述: 解题过程 按照题意直接求解即可,这里采用结构体排序的方法得出最终结果。 AC代码 #include<iostream> #include<algorithm> using namespace std; struct Tree { int apple;//苹果数 int shu=0;//疏果数 int id;//编号 }; b
2020-08-07 15:32:44
717
原创 CCF 201912-2 回收站选址 (C++)
201912-2 回收站选址 试题编号: 201912-2 试题名称: 回收站选址 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 本来开始打算直接用二维数组一步到位解决,但观察了下数据大小发现过大,故采用了vector容器去存储坐标。 由于n不是很大,故循环暴力解即可。 注意点是要四周都有邻居才能算入评分。 AC代码 #include<iostream> #include<vector> using namespace std; int main() {
2020-08-06 15:55:08
326
原创 CCF 201912-1 报数 (C++)
201912-1 报数 试题编号: 201912-1 试题名称: 报数 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 题目乍看和约瑟夫环有些相似,但似乎不能套用其解法。 需要注意题目要求是跳过相应的人同时不计入被跳过的数。 注意到题目中的n并不是很大,所以直接循环模拟报数过程即可。 AC代码 #include<iostream> using namespace std; bool remain(int j)//判断是否含有7 { int temp=0; whi
2020-08-05 16:29:20
333
原创 CCF 202006-1 线性分类器(C++)
202006-1 线性分类器 试题编号: 202006-1 试题名称: 线性分类器 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 解题过程 通过直线方程,将每个点处于直线上方或是下方计算出来(处于直线同侧的点代入直线方程后得到结果同号)。然后对于每条直线,遍历按照位置排序后的每个点,如果处于同侧的点存在不同类型,则中止循环即可。 #include<iostream> #include<algorithm> #include<stdio.h> us
2020-08-04 20:47:22
989
原创 CCF 202006-2 稀疏向量(C++)
CCF 202006-2 稀疏向量 试题编号: 202006-2 试题名称: 稀疏向量 时间限制: 2.0s 内存限制: 512.0MB 问题描述: 解题过程 一开始用了n+1大小的数组打算直接暴力解,然后用了a+b大小的结构体数组想着缩小数据大小应该能过,结果都卡在60分运行错误。 接着使用了vector容器直接输入a+b个数据然后排序来求解,结果是30分运行超时。 运行错误可能是由于a+b大小不确定导致当a+b较大时,无法直接按照这样定义数组。 运行超时我觉得也是一样的原因,即使使用sort排序
2020-08-04 17:27:50
1491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅