AcWing 3258. 碰撞的小球csp13(2)
原题链接
简单
作者:
YAX_AC
,
2024-11-25 16:24:48
,
所有人可见
,
阅读 3
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1010;
int n,L,t;
int a[N];
struct M
{
int p,v;
}m[N];
int main()
{
cin>>n>>L>>t;
for(int i = 1; i<=n; i++)
{
cin>>a[i];
m[i] = {a[i],1};
}
while(t--)
{
for(int i = 1; i<=n; i++)
{
m[i].p += m[i].v;
if(m[i].p == L || m[i].p == 0) m[i].v*=-1;
}
for(int i = 1; i<=n; i++)
{
for(int j = i+1; j<=n; j++)
{
if(m[i].p == m[j].p)
{
m[i].v*=-1;
m[j].v*=-1;
}
}
}
}
for(int i = 1; i<=n; i++) cout<<m[i].p<<' ';
return 0;
}