这种模拟类问题应该创建数组或结构体来表示目标的状态
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,l,t;
cin>>n>>l>>t;
int s[n],v[n];//s[n]保存小球的位置,v[n]保存小球的速度,1为右,-1为左
for(int i=0; i<n; i++) {
cin>>s[i];
v[i]=1;
}
while(t--) {
for(int i=0; i<n; i++) {
s[i]+=v[i];
if(s[i]==l||s[i]==0)
v[i]=-v[i];
}
for(int i=0; i<n; i++) {
for(int j=0; j<n&&j!=i; j++) {
if(s[i]==s[j]) {
v[i]=-v[i];
v[j]=-v[j];
}
}
}
}
for(int i=0; i<n; i++)
cout<<s[i]<<" ";
return 0;
}