201803-2 碰撞的小球 Java

思路:
直接按照题意模拟,感觉没什么太好的办法。另外注意:int这种基础数据类型不能用equals这个方法 ,必须是Integer类型
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int L = sc.nextInt();
int t = sc.nextInt();
int timeCount = 0; //计时器
Ball [] ball = new Ball[n];
for (int i = 0; i < n; i++)
ball[i] = new Ball(sc.nextInt(), 1);
while (++timeCount <= t) {
for (int i = 0; i < n; i++) {//到达端点则反向
if(ball[i].direction == 1) {
ball[i].position++;
if(ball[i].position == L)
ball[i].direction *= -1; //使球反向
} else {
ball[i].position--;
if(ball[i].position == 0)
ball[i].direction *= -1;
}
}
for (int i = 0; i < n - 1; i++) //判断相撞
for (int j = i + 1; j < n; j++)
if (ball[i].position.equals(ball[j].position)) {
ball[i].direction *= -1;
ball[j].direction *= -1;
break;
}
}
sc.close();
for(int i = 0; i < n; i ++) { //输出结果
System.out.print(ball[i].position + " ");
}
}
}
class Ball {
public Integer position; //球的位置
public Integer direction; //球的方向,1为向右,-1为向左
public Ball(Integer position, Integer direction) {
this.position = position;
this.direction = direction;
}
}
201803-2 碰撞的小球 Java的更多相关文章
- CCF认证201803-2 碰撞的小球 java代码实现。
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线 ...
- 【web前端学习部落22群】分享 碰撞的小球开源小案例
对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...
- 碰撞的小球 ccf (模拟)
问题描述 试题编号: 201803-2 试题名称: 碰撞的小球 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐 ...
- 【C++】CCFCSP201803-2碰撞的小球
// // main.cpp // CCFCSP20180318_2_碰撞的小球 // // Created by T.P on 2018/3/24. // Copyright © 2018年 T.P ...
- CCF CSP 201803-2 碰撞的小球
题目链接:http://118.190.20.162/view.page?gpid=T72 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段 ...
- CCF-201803-2 碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒.当小球到达线段 ...
- ccf 201803-2 碰撞的小球(Python)
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线 ...
- CCF|碰撞的小球
import java.util.Scanner; public class Main { public static void main (String[] args) { Scanner scan ...
- ZJNU 1422 - 碰撞的小球
完全弹性碰撞可以视作互相穿过 所以直接考虑只有单个小球的时候,从板子上滑下所需要的时间即可 最后以30000为界分开流读入与缓冲区优化的io方法 //Case4用缓冲区io优化会WA??? /* Wr ...
随机推荐
- 【Unity】鼠标划定范围然后截图~
有时候要重复用某一个场景的某一个角度,都过去好几步了结果总不能再把已经打乱的场景物体再移动回去吧.so~智慧的我完成了伟大的偷懒.截图保存,什么时候要看,直接上图片以假乱真棒棒哒~ 当然这个功能还能用 ...
- Ternsorflow 学习:002-Tensorflow 基础知识
前言: 使用 TensorFlow 之前你需要了解关于 TensorFlow 的以下基础知识: 使用图(graphs) 来表示计算 在会话(session) 中执行图 使用张量(tensors) 来代 ...
- Java的SpringMVC执行流程
SpringMVC找Controller流程 1.扫描整个项目(Spring已经做了)定义一个Map集合. 2.拿到所有加了@Controller注解的类. 3.遍历类里面的所有方法对象. 4.判断方 ...
- vue axios 数据请求实现
1.安装nginx npm install axios --save-dev cnpm install axios --save-dev 使用淘宝镜像 保存依赖文件到本地 装好了.packjson.j ...
- POJ 3259:Wormholes bellman_ford判定负环
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 37906 Accepted: 13954 Descr ...
- define可变参数,float数据传输
define可变参数 一般在调试打印Debug信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC也支持可变参数宏, 但是两种在 ...
- mysql提示 Lock wait timeout exceeded解决办法 事务锁死
查询 select concat('KILL ',id,';') from information_schema.processlist; 复制结果 新建sql脚本粘贴并执行
- jenkins#安装gitlab
通过docker安装gitlab 参考 ------------------------------ 拉docker 镜像: docker pull gitlab/gitlab-ce 创建目录存储gi ...
- Netty 中队列的使用
任务队列中的Task有3种典型使用场景 用户程序自定义的普通任务 此前代码: 参考https://www.cnblogs.com/ronnieyuan/p/12016712.html NettySer ...
- .NET via C#笔记12——泛型
12 泛型 使用值类型作为参数的泛型容器,传入值类型的参数时,不需要进行装箱 12.1 FCL中的泛型 System.Array中提供了很多泛型方法 AsReadOnly BinarySearch C ...