问题描述

数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。
  当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。
  当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。
  现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。

提示

因为所有小球的初始位置都为偶数,而且线段的长度为偶数,可以证明,不会有三个小球同时相撞,小球到达线段端点以及小球之间的碰撞时刻均为整数。
  同时也可以证明两个小球发生碰撞的位置一定是整数(但不一定是偶数)。

输入格式

输入的第一行包含三个整数n, L, t,用空格分隔,分别表示小球的个数、线段长度和你需要计算t秒之后小球的位置。
  第二行包含n个整数a1, a2, …, an,用空格分隔,表示初始时刻n个小球的位置。

输出格式

输出一行包含n个整数,用空格分隔,第i个整数代表初始时刻位于ai的小球,在t秒之后的位置。

样例输入

3 10 5
4 6 8

样例输出

7 9 9

样例说明

样例输入

10 22 30
14 12 16 6 10 2 8 20 18 4

样例输出

6 6 8 2 4 0 4 12 10 2

数据规模和约定

对于所有评测用例,1 ≤ n ≤ 100,1 ≤ t ≤ 100,2 ≤ L ≤ 1000,0 < ai < L。L为偶数。
  保证所有小球的初始位置互不相同且均为偶数。

#include<stdio.h>
int main()
{void adjust(int a[], int b[], int n, int length);int n,length,t,i,j,a[100],b[100];scanf("%d%d%d", &n, &length, &t);for (i = 0; i < n; i++){scanf("%d", &a[i]);b[i] = 1;//1代表右移,-1代表左移}for (i = 1; i <= t; i++){for (j = 0; j < n; j++)a[j] = a[j] + b[j];//小球移动adjust(a, b, n, length);}for (i = 0; i < n; i++)printf("%d ", a[i]);return 0;
}
void adjust(int a[],int b[],int n,int length)
{int i,j;for (i = 0; i < n; i++){for (j = i; j < n; j++){if (a[i] == a[j] && i < n - 1)//两小球相遇时各自反向{b[i] = -b[i], b[j] = -b[j];}}if (a[i] == 0)//在最左端b[i] = 1;if (a[i] == length)//在最右端b[i] = -1;}
}

##CSP 201803-2 碰撞的小球(C语言)100分相关推荐

  1. CCF CSP 2019-9-1 小明种苹果 C语言100分

    CCF CSP 2019-9-1 小明种苹果 C语言100分 小明种苹果 完成时间11-18 16:54 代码长度510B C 正确 100分 耗时93ms 空间使用6.167MB 这道题简单,仅附上 ...

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

    文章目录 题目解答 题目链接 题目解答 来源:acwing 分析: 题目理解: 给定水平方向的线段和n个小球,给定速度和碰撞后反向运动等条件,模拟小球碰撞过程,求解最后时刻所有小球的位置. 题目解答: ...

  3. CCF CSP 201609-2 火车购票(C++语言100分)[简单模拟题]

    1. 问题链接:CCF 201609-2 火车购票 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 请实现一个铁路购票系统的 ...

  4. CCF CSP 201512-2 消除类游戏(C++语言100分)

    1. 问题链接:CCF 201512-2 消除类游戏 试题编号: 201512-2 试题名称: 消除类游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 消除类游戏是深受大众 ...

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

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

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

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

  7. CCF201803-2 碰撞的小球(100分)【模拟】

    试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有 ...

  8. 碰撞的小球 ccf (模拟)

    问题描述 试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐 ...

  9. 【CCF】201803-2 碰撞的小球

    试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体 ...

  10. CCF201803-2 碰撞的小球

    试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体 ...

最新文章

  1. windows下 composer常见问题及处理
  2. html css integrity,integrity 属性
  3. 最简单EXT调用WCF
  4. 机器学习笔记:梯度消失
  5. Android WebView 致安卓应用闪退,mPaaS 助你规避这波 Bug
  6. mdp文件-Chapter4-MD.mdp
  7. shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表
  8. orale如果是整数后面补小数点0_Win10完美整数大小磁盘分区
  9. 下载sqlserver2012 试用_大肥虫助手下载-大肥虫助手 安卓版v7.0.4
  10. git clone报错warning:Clone succeeded,but checkout failed
  11. 第二周工作总结——NWNU李泓毅
  12. java word 水印_java操作word水印
  13. 智能制造案例——面向重型机械车间智能制造系统解决方案
  14. 荣耀手机出售还可以用鸿蒙,华为荣耀整体出售对鸿蒙有何影响
  15. Python---项目(简易画图软件)
  16. wordpress 调用指定页面内容详解2 get_children()
  17. javaSE进阶学习笔记
  18. C 三个学生四门成绩,求成绩总和与平均值
  19. android应用案例之Listview
  20. 电子病历编辑器功能点六级试题库

热门文章

  1. CF 55D Beautiful numbers 数位DP
  2. 关于Flex2的资料
  3. apache commons collections CollectionUtils工具类简单使用
  4. numpy linspace
  5. 四边形不等式优化-石子合并
  6. ActiveMQ测试工具
  7. == 与 equals 的区别
  8. 送专利啦~~ .Net高阶异常处理之TopLevelEH
  9. 【安卓项目】—— 口算测试APP(教程源自B站)
  10. Github新功能 个人展示项目--首页展示个人介绍 图片and so on(2020.08.05)