#include <iostream> #include <cstdio> using namespace std; const int maxn=10001; int buf[maxn]; bool d[maxn]={false}; //false 表示向右走, true 表示向左走; int book[maxn]={0}; int main(int argc, char** argv) { int n,l,t; scanf("%d %d %d",&n,&l,&t); for(int i=0;i<n;i++) { scanf("%d",&buf[i]); book[buf[i]]=1; } while(t!=0){ t--; for(int i=0;i<n;i++){ if(buf[i] == l || buf[i] == 0){ if(d[i]==false) d[i]=true; else d[i]=false; } //reach the cor if(book[buf[i]] == 2){ if(d[i]==false) d[i]=true; else d[i]=false; } //meet } for(int i=0;i<n;i++){ if(d[i] == false) { buf[i]+=1; book[buf[i]]++; book[buf[i]-1]--; } if(d[i] == true) { buf[i]-=1; book[buf[i]]++; book[buf[i]+1]--; } } } for(int i=0;i<n;i++){ printf("%d",buf[i]); if(i!=n-1) printf(" "); } return 0; }
csp-2018-3-2 碰撞的小球
最新推荐文章于 2024-03-28 13:56:26 发布