#include <iostream>
using namespace std;
struct ball{
int index;
int speed;
};
int main(){
int n,L,t;
cin>>n>>L>>t;
ball balls[n];
for(int i=0;i<n;i++){//input
int a;
cin>>a;
balls[i].index=a;
balls[i].speed=1;
}
for(int i=0;i<t;i++){//traverse t
for(int j=0;j<n;j++){
balls[j].index+=balls[j].speed;
}
for(int k=0;k<n;k++){//limit
if(balls[k].index==L||balls[k].index==0){
balls[k].speed*=-1;
}
}
for(int j1=0;j1<n-1;j1++){//crash
for(int j2=j1+1;j2<n;j2++){
if(balls[j1].index==balls[j2].index){
balls[j1].speed*=-1;
balls[j2].speed*=-1;
}
}
}
}
for(int i2=0;i2<n;i2++){
cout<<balls[i2].index<<" ";
}
}
csp:碰撞的小球
最新推荐文章于 2024-03-02 09:41:31 发布