文章目录

  • 题目解答
  • 题目链接

题目解答





来源:acwing

分析:

题目理解:

给定水平方向的线段和n个小球,给定速度和碰撞后反向运动等条件,模拟小球碰撞过程,求解最后时刻所有小球的位置。

题目解答:

这是一道模拟题,最直观的想法是模拟t秒,把每一秒的过程模拟出来。
具体如何操作?

  1. 定义小球结构体。成员变量有小球的位置p,小球的速度v。v初始化为1,表示方向向右,大小为1.所有的小球存入结构体数组b中,编号为0 ~ n -1.
  2. 对于每一秒钟,模拟它们的位置和速度。
    第i-1个小球的位置:b[i].p += b[i].v;
    第i-1个小球的速度:b[i].v ++;
    如果发生碰撞:b[i].v *= -1;

AC代码

#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int n, L, T;
struct Ball{// 小球的位置,小球的速度int p, v;
}b[N];int main(){cin >> n >> L >> T;for(int i = 0; i < n; i ++){cin >> b[i].p; b[i].v = 1; // 初始时速度向右,大小为1}// 模拟T秒while(T --){// 每次前进1秒(可能向前,可能向后)for(int i = 0; i < n; i ++){b[i].p += b[i].v; // 更新位置// 撞到两边的墙if(b[i].p == L || !b[i].p) b[i].v *= -1;}// 模拟两个球相撞for(int i = 0; i < n; i ++){for(int j = i + 1; j < n; j ++){if(b[i].p == b[j].p){ // 位置重叠,表示相撞b[i].v *= -1, b[j].v *= -1;}}}}for(int i = 0; i < n; i ++)cout << b[i].p << ' ';
}

题目链接

https://www.acwing.com/problem/content/3261/

CSP认证201803-2 碰撞的小球[C++题解]:模拟相关推荐

  1. CSP认证201409-4 最优配餐[C++题解]:bfs、多源bfs、最短路、图论

    文章目录 题目解答 题目链接 题目解答 来源:acwing 分析: 有很多起点S,同时有很多终点T,求每个终点到起点中最短的路,只要是到达其中一个起点就行.所以这是一个多源bfs的题目. ac代码 # ...

  2. CSP认证近两期试题汇总

    前言 因为了学分的需要,准备参加CSP认证,结果发现这个比赛没有题解,平台也没有提供相关讨论方式,因此决定以此来记录本人刷题解答.希望能够帮到大家,共同进步. 本人主要使用python刷题,但是pyt ...

  3. 谈一下两次CSP认证从180分到380分的感想

    最近联系我的小可爱们比较多,我用qq建了一个ccf csp考试交流群,群号673612216,如果感觉有用可以加一下哦~~ 欢迎访问我的CCF认证考试题解目录哦 https://blog.csdn.n ...

  4. CCF 201803 跳一跳 碰撞的小球 url映射 棋局评估

    试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱. 简化后的跳一跳规则如下: ...

  5. CCF计算机软件能力认证试题练习:201803-2 碰撞的小球

    碰撞的小球 来源:CCF 标签: 参考资料: 相似题目: 题目 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上, ...

  6. CCF CSP 碰撞的小球 C++

    碰撞的小球 代码比较长是因为看错题意,题目要求最后按序号输出位置,因此既要存序号,也要存位置.先将小球按照初始位置排序,定义另一个数组mov来记录小球移动的距离,每过一个单位时间判断是否发生碰撞,并修 ...

  7. CCF-CSP认证试题——碰撞的小球

    碰撞的小球 分析 编程对小球的运动进行模拟,随着时间的变化,小球的位置在数轴上进行变化,这也是模拟题比较麻烦的地方,变量是动态变化的,还要考虑许多情况. 本题中比较好的是只有相邻的两个小球才会发生碰撞 ...

  8. CCF CSP认证菜鸟刷题日志

    CCF CSP菜鸟刷题日志(c/c++) 本萌新写给自己看的,要是有大佬路过,请多多指教orz 立个flag:每日一更,至201903 9月15ccf csp,冲鸭! 今天(2019.8.18)起每天 ...

  9. CSP认证历年真题题解 (Python)

    文章目录 此篇文章是小菜本菜使用Python做CCF-CSP的一些记录,希望能够以此帮助到正在为题目苦苦思考,但还没有找到解决思路的朋友们.诚然,这里的代码还有很多值得改进之处,希望各位码友不吝赐教. ...

最新文章

  1. Linux基础命令---diffstat
  2. java线程栅栏_Java 多线程基础 - CyclicBarrier
  3. 中国移动如何开具并下载打印电子发票?
  4. 定义数据表之间的关联 (DataSet.Relations.Add)
  5. android设置提交的隐藏域以及在onItemClick中获取对应的数据
  6. android art虚拟机安装,Android中art虚拟机启动流程
  7. ActiveMQ 持久化讯息数据库信息
  8. 线程组之间的JMeter传递变量
  9. php伪静态不支持中文,Discuz开启伪静态导致中文会员使用手机无法访问的解决方法...
  10. vue下使用axios应用
  11. 为什么要用Redis?
  12. 【java】理解和运用Java中的Lambda
  13. Linux中的useradd、password、userdel、usermod命令
  14. web版文件管理系统_临沂管家婆母婴版进销存软件产品特色
  15. html滑动门+多个,jQuery实现的多滑动门,多选项卡效果代码
  16. 中兴ZXDSL831驱动
  17. 微积分演绎(一)海底沉尸事件
  18. 计算机网络的时间,计算机网络时间同步技术原理介绍
  19. Visual C++ 新增功能(2003 - 2015)
  20. webservice概述及cxf在Java开发中应用(三) cxf客户端开发

热门文章

  1. dos 删除文件夹 rd
  2. 通向高可扩展性之路(谷歌篇)
  3. Android应用程序与SurfaceFlinger服务的关系概述和学习计划
  4. 有备无患的Linux操作系统备份方法
  5. spring boot 邮件端口_不会吧,SpringBoot还能发送邮件发送邮件?快来看看如何操作吧
  6. 手机bootstrap搜索框_你知道手机可以对摄像头进行图像调节吗
  7. 1.1 为什么选择序列模型-深度学习第五课《序列模型》-Stanford吴恩达教授
  8. STM32 电机教程 20 - 基于ST MC Workbench 无感FOC
  9. 虚拟机屏幕界面自适应调整
  10. inotify 文件系统监控