CCFCSP试题编号:201803-2试题名称:碰撞的小球
一、题目描述

二、思路
1.首先妾身分析这个题目,想要解题,得得解决2个问题。
1)判断小球到达端点或碰撞然后改变方向;
2)每时刻都要改变位置
两个问题都比较好解决,1)只要简单判断坐标,符合条件就将速度加个负号就成了,2)只要知道原来坐标+速度✖时间=新坐标就好了。因为每个时刻都有可能碰撞,每一秒都判断就好了。
三、代码
话不多说,来看妾身的代码呀!
#include <iostream>
using namespace std;struct ball
{int position;//小球的位置int v;//速度的方向
}b[105];void changePositionV(struct ball b[], int n, int L)
{int i, j;//到达左右端点就改变方向for (i = 0; i < n; i++){if (b[i].position == 0 || b[i].position == L){b[i].v = -b[i].v;}}//到达同一位置,小球碰撞,方向改变for (i = 0; i < n-1; i++){for (j = i + 1; j < n; j++){if (b[i].position == b[j].position){b[i].v = -b[i].v;b[j].v = -b[j].v;}}}//更新位置for (i = 0; i < n; i++){b[i].position += b[i].v;}
}
int main()
{int n, L, t;cin >> n >> L >> t;int i;//输入初始位置,并初始化速度方向for (i = 0; i < n; i++){cin >> b[i].position;b[i].v = 1;}while (t){changePositionV(b, n, L);t--;}//输出结果for (i = 0; i < n; i++){cout << b[i].position << " ";}return 0;
}
四、思考总结
妾身还想了一下,觉得先更新位置,再判断是否碰撞也是可以的,也就是将函数改成如下:
//先更新位置,再判断是否碰撞
void changePositionV(struct ball b[], int n, int L)
{int i, j;//更新位置for (i = 0; i < n; i++){b[i].position += b[i].v;}//到达左右端点就改变方向for (i = 0; i < n; i++){if (b[i].position == 0 || b[i].position == L){b[i].v = -b[i].v;}}//到达同一位置,小球碰撞,方向改变for (i = 0; i < n-1; i++){for (j = i + 1; j < n; j++){if (b[i].position == b[j].position){b[i].v = -b[i].v;b[j].v = -b[j].v;}}}
}
小女子感觉自己的思路还比较中规中矩,应该还有更高效的解决方法,诶呀!希望以后能越来越棒!各位公子有没有更好的方法呀,可以教教妾身呀!
相关文章:
CCFCSP试题编号:201803-2试题名称:碰撞的小球
一、题目描述 二、思路 1.首先妾身分析这个题目,想要解题,得得解决2个问题。 1)判断小球到达端点或碰撞然后改变方向; 2)每时刻都要改变位置 两个问题都比较好解决,1)只要简单判断坐标&…...
《安富莱嵌入式周报》第327期:Cortex-A7所有外设单片机玩法LL/HAL库全面上线,分享三款GUI, PX5 RTOS推出网络协议栈,小米Vela开源
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 1、2023 Hackaday大赛胸牌开源 Vectorscope-main.zip (66.83MB) GitHub - Hack-a-Day/Vectorscope: Vectorscope badg…...
面试官:【js多维数组扁平化去重并排序】
文章目录 前言方法一方法二方法三方法四总结后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:JavaScript 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&a…...
C#编程题分享(3)
n的阶乘问题 输⼊整数n,输出n的阶乘。 int n Convert.ToInt32(Console.ReadLine()); int jiecheng 1; for (int i 1; i < n 1; i) {jiecheng * i; // 1 * 2 * 3 * .....} Console.WriteLine("{0}的阶乘是:{1}", n, jiecheng); q^n次…...
Redis下载和安装(Windows系统)
通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往。 打开上述的下载链接,Redis 支持 32 位和 64 位的 Window 系统,大家根据个人情况自行下载,如图 1 所示: 下载完成后,打开相应的文件夹&a…...
MySQL数据库:开源且强大的关系型数据库管理系统
大家好,我是咕噜-凯撒,数据在当今信息化时代的重要性不可忽视。作为企业和组织的重要资产,数据的管理和存储变得至关重要,MySQL作为一种关系型数据库管理系统,具有非常多的优势,下面简单的探讨一下MySQL数据…...
如何在AD的PCB板做矩形槽孔以及如何倒圆弧角
Altium Designer 22下载安装教程-CSDN博客 如何在AD上创建完整的项目-CSDN博客 开始前,请先安装后AD,并创建好项目。 目录 1. 如何在AD的PCB板做矩形槽孔 2. 如何在AD的PCB板倒圆弧角 1. 如何在AD的PCB板做矩形槽孔 首先,我们进入上面创…...
SpringMVC日志追踪笔记整理
新建logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration><property name"PATH" value"./log/business"></property><appender name"STDOUT" class"ch.qos.logback…...
UML建模图文详解教程06——顺序图
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著 顺序图概述 顺序图(sequence diagram,也…...
睡前随笔记录
一个人从出生到长大,就像一部手机从新用到旧。手机里面积累了太多的缓存,积累了太多的照片,各种app的数据,安装了各式各样的程序。 所以大概这就是年纪越大,记性越差的原因吗?就像一个屋子,堆满…...
微服务学习|Feign:快速入门、自定义配置、性能优化、最佳实践
RestTemplate方式调用存在的问题 先来看我们以前利用RestTemplate发起远程调用的代码 存在下面的问题 代码可读性差,编程体验不统一 参数复杂URL难以维护 Feign的介绍 Feign是一个声明式的http客户端,官方地址: https://github.com/OpenFeign/feign …...
使用【画图】软件修改图片像素、比例和大小
打开电脑画图软件,点击开始 windows附件 画图 在画图软件里选择需要调整的照片,点击文件 打开 在弹出窗口中选择照片后点击打开 照片在画图软件中打开后,对照片进行调整。按图中顺序进行 确定后照片会根据设定的值自动调整 保存…...
DevOps 事后分析
众所周知,系统的变化会带来不稳定,进而引发事故。迁移到 DevOps 使世界各地的组织能够以更小的增量和更高的频率进行发布。这降低了特定版本中失败的风险。另一方面,增加发布数量并不一定会减少待命团队需要响应的事件数量。 事件响应团队的…...
fastdfs-client-java-1.30 maven 打包安装
1. 进入源代码目录,打开cmd mvn clean install 或者 mvn package 问题不大的话会在同级目录target目录下生成打包后文件 2. 当前目录下cmd进行maven安装 mvn install:install-file -DgroupIdorg.csource -DartifactIdfastdfs-client-java -Dversion${version} -D…...
【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵
专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 本章将介绍视觉SLAM的基本问题之一:如何描述刚体在三维空间中的运动? 旋转矩阵 点、向量和坐标系 三维空间由3个轴组成&…...
Linux驱动开发笔记(四):设备驱动介绍、熟悉杂项设备驱动和ubuntu开发杂项设备Demo
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134533533 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…...
C/C++ 实现Windows注册表操作
Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息、用户设置和应用程序数据的一个集中式数据库。它是一个层次结构的数据库,由键(Key)和值(Value)组成,这些键和值被…...
nginx 模块相关配置及结构理解
文章目录 模块配置结构模块配置指令先看一下 ngx_command_t 结构一个模块配置的demo简单模块配置的案例演示 模块上下文结构模块的定义 模块配置结构 Nginx中每个模块都会提供一些指令,以便于用户通过配置去控制该模块的行为。 Nginx的配置信息分成了几个作用域(sc…...
同时创建多个websoket(初始化多个连接、断开的重连、每个连接定时发消息、每个连接存储接收的数据(vuex或者pinia))
可复制现成代码直接使用!! 1.下边的例子演示了创建10个WebSocket 实例,当其中某一个连接失败时,会自动进行重连 <template><div></div> </template><script setup> import { ref, reactive, onMo…...
C语言——指针(一)
📝前言 这篇文章主要带大家初步认识一下指针,供大家理解参考。 主要归纳与讲解: 1,指针与指针变量 2,指针的基本使用(如何定义,初始化,引用) 🎬个人简介&…...
FastAPI + PostgreSL 实战:从入门到不踩坑,一次讲透
起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧ÿ…...
HCL多种路由协议之间【路由重分发(重定向 / 引入)】
全网 IP 地址 & 接口规划表设备互联接口(路由器之间对接)本端设备接口名称IP 地址 / 掩码对端设备对端接口AR1GigabitEthernet 0/010.47.0.1/30AR2GigabitEthernet 0/0AR2GigabitEthernet 0/010.47.0.2/30AR1GigabitEthernet 0/0AR2GigabitEthernet …...
023、使用向量数据库增强Agent的记忆与检索能力
023、使用向量数据库增强Agent的记忆与检索能力 当你的Agent面对海量、非结构化的历史对话和文档时,如何让它像人类一样“瞬间想起”相关上下文,而不是遗忘或低效地线性搜索?向量数据库正是解决这一核心痛点的关键技术。 前言 在上一篇文章《Agent与数据库交互:实现数据的…...
顺丰突然重仓2亿美元:机器人开始“取代”分拣工了?
2026年4月27日,星动纪元宣布完成超2亿美元新一轮融资。2026年4月27日,具身智能赛道在同一日内落下两枚重磅炸弹。星动纪元宣布完成超2亿美元新一轮融资,无界动力同步官宣天使轮累计融资超2亿美元。最引人注目的是,星动纪元的融资消…...
比较器设计12V输入过压保护电路
...
ClawLock:为AI智能体构建身份管理与安全凭证的MCP解决方案
1. 项目概述:为AI智能体构建身份与安全的基石 在AI智能体(AI Agent)的开发与部署浪潮中,一个长期被忽视的“房间里的大象”正变得越来越显眼:安全与身份管理。想象一下,你部署了成百上千个能够自动执行任务…...
D2L.ai SageMaker实战:Amazon机器学习平台终极指南
D2L.ai SageMaker实战:Amazon机器学习平台终极指南 【免费下载链接】d2l-en Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge…...
Flask会话管理:SessionFactory 与 Flask-SQLAlchemy 的生命周期管理
更多内容请见: 《Python Web项目集锦》 - 专栏介绍和目录 文章目录 第一章:解剖底层——原生 SQLAlchemy 的三驾马车 1.1 Engine(引擎):物理连接的工厂 1.2 SessionFactory(会话工厂):会话的流水线 1.3 Session(会话):对象的生命周期容器 第二章:化繁为简——Flask…...
MCP SQL Bridge:为AI助手安全连接本地数据库,实现智能数据查询
1. 项目概述:为你的AI助手装上数据库的“眼睛”如果你和我一样,日常开发中有一半的时间都在和数据库打交道,那你肯定也经历过这样的场景:想快速查一下某个表的结构,或者写个稍微复杂点的联表查询,都得在IDE…...
VideoDownloadHelper:当网页视频遇到技术解构的艺术
VideoDownloadHelper:当网页视频遇到技术解构的艺术 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾遇到过这样的场景&am…...
