CCF CSP 2018.03:序列处理与模拟题C++满分代码解析
需积分: 45 33 浏览量
更新于2024-09-08
收藏 72KB DOCX 举报
本资源提供的是CCF CSP软件能力认证2018年3月第13次考试的两道题目及其解析和100分的C++代码实现。第一题名为“跳一跳”,考察序列处理能力。题目要求处理一个输入序列,其中的数字代表分数,当连续得分2分时加分规则为每次加2分,得1分时不加分。核心代码通过`scanf`读取输入,累计分数并根据规则调整加分状态。
```cpp
#include<iostream>
using namespace std;
int main()
{
int a, sum = 0, plus = 0;
while (scanf("%d", &a) != EOF && a)
{
sum += a;
if (a == 1)
plus = 0;
else if (a == 2)
{
sum += plus;
plus += 2;
}
}
printf("%d\n", sum);
return 0;
}
```
第二题是“碰撞的小球”,模拟题目,需要按照时间序列模拟小球的运动,判断小球是否相撞并调整方向。提供了两种解法:一种是不排序的暴力法,使用数组`pos`和`step`记录小球位置和运动方向;另一种是结构数组法,通过排序简化处理。暴力法的核心代码如下:
```cpp
#include<iostream>
using namespace std;
const int L = 1000;
int pos[L + 1], step[L + 1];
int main()
{
int n, l, t;
cin >> n >> l >> t;
for (int i = 0; i < n; i++)
{
cin >> pos[i];
// 其他代码处理小球移动和碰撞检测
}
// ...模拟过程
return 0;
}
```
总结来说,这两道题目都是对基础编程技能的考察,特别是输入处理、循环控制和数组操作,同时也涉及到了模拟算法和优化技巧。通过解答这些题目,考生可以提升对C++语言的理解,以及在实际编程中处理类似问题的能力。
2018-11-02 上传
2019-06-04 上传
2019-06-04 上传
2019-06-04 上传
2019-06-04 上传
2019-06-04 上传
2019-06-04 上传
qq_40186640
- 粉丝: 2
- 资源: 31
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜