CCF 201803-2 碰撞的小球
话不多说,上满分代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] data = scanner.nextLine().split(" ");
int n = Integer.parseInt(data[0]);
int L = Integer.parseInt(data[1]);
int t = Integer.parseInt(data[2]);
int[] direct = new int[n];
int[] index = new int[n];
for(int i=0 ; i<n ; i++) {
index[i]=scanner.nextInt();
direct[i]=1;
}
scanner.close();
for(int i=0 ; i<t ; i++) {
for(int j=0 ; j<n ; j++) {
if(direct[j]==1 && index[j]<L) {
index[j]++;
if(index[j]==L)direct[j]=-1;
}else if(direct[j]==-1 && index[j]>0) {
index[j]--;
if(index[j]==0)direct[j]=1;
}
}
for(int k=0 ; k<n ; k++) {
for(int h=k+1 ; h<n ; h++) {
if(index[k]==index[h]) {
direct[h]=-direct[h];
direct[k]=-direct[k];
}
}
}
}
for(int i : index) {
System.out.print(i+" ");
}
}
}