两秒后,第三个小球碰到墙壁,速度反向,三个小球位置分别为6, 8, 10。 三秒后,第二个小球与第三个小球在位置9发生碰撞,速度反向(注意碰撞位置不一定为偶数),三个小球位置分别为7, 9, 9。 四秒后,第一个小球与第二个小球在位置8发生碰撞,速度反向,第三个小球碰到墙壁,速度反向,三个小球位置分别为8, 8,...
同时也可以证明两个小球发生碰撞的位置一定是整数(但不一定是偶数)。 输入格式 输入的第一行包含三个整数n, L, t,用空格分隔,分别表示小球的个数、线段长度和你需要计算t秒之后小球的位置。 第二行包含n个整数a1, a2, …, an,用空格分隔,表示初始时刻n个小球的位置。 输出格式 输出一行包含n个整数,用空格...
揣摩一下题意,就会发现,小球自始至终都不会越过其它小球,也就是说n个小球的相对位置(左右顺序)总是不变的(初始位置最小的小球经过 t 秒后依然最小)。 因而我们在求解过程中不必在意小球编号,只需直接求出所有小球末位置即可。 至于小球相遇时反向,由于小球可看做质点,从视觉上就想两个小球相互穿过、速率不变...
两秒后,第三个小球碰到墙壁,速度反向,三个小球位置分别为6, 8, 10。 三秒后,第二个小球与第三个小球在位置9发生碰撞,速度反向(注意碰撞位置不一定为偶数),三个小球位置分别为7, 9, 9。 四秒后,第一个小球与第二个小球在位置8发生碰撞,速度反向,第三个小球碰到墙壁,速度反向,三个小球位置分别为8, 8, ...
CCF CSP 201803-2 碰撞的小球 2020-09-08 20:07 −... CrosseaLL 0 129 【算法题】CCF CSP第一题练习 2019-12-15 22:55 −试题编号: 201312-1试题名称: 出现次数最多的数问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式 输入的第一行只...
CCF CSP 201803-2 碰撞的小球 思路: 1.用二维数组存储当前数轴上的状态,例如五号球在2位置,则 line [0] [2] = 5; 2.如果碰撞,则将其中一球放到数组的另一维同一个位置就好了,但是在分开时记得要将在另一维的球归位回来; 3.每一秒都刷新一遍整个数组;...
CCF 201803-2 碰撞的小球 1 #include <iostream> 2 //#include <bits/stdc++.h> 3 #include <string> 4 5 using namespace std; 6 7 typedef struct { 8 int location; 9 int foreOrback; 10 }table; 11 12 bool isequal(table *tab,int i,int n,int L); 13 void change(table &tt); 14...
201803-2 碰撞的小球 Java 思路: 直接按照题意模拟,感觉没什么太好的办法。另外注意:int这种基础数据类型不能用equals这个方法 ,必须是Integer类型 importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[] args){Scannersc=newScanner(System.in);intn=sc.nextInt();intL=sc.nextInt();intt=sc....
{switch(balls[i].dir) {case1:balls[i].pos +=1;break;case-1:balls[i].pos -=1;break;default:break; } }for(inti =0; i < n; i++) {if(balls[i].pos == L)//撞墙,若撞则不可能碰撞{ balls[i].dir =-1; }elseif(balls[i].pos==0) ...
201803-2 碰撞的小球 //遗弃版本 #include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>//#define int long longintread(){intx=0,f=1;charc=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();...