CCF 201803-2 碰撞的小球 100分
Posted 登登登ccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF 201803-2 碰撞的小球 100分相关的知识,希望对你有一定的参考价值。
这种模拟类问题应该创建数组或结构体来表示目标的状态
#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;
}
以上是关于CCF 201803-2 碰撞的小球 100分的主要内容,如果未能解决你的问题,请参考以下文章