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分的主要内容,如果未能解决你的问题,请参考以下文章

ccf 201803-2

CCF-CSP刷题库11-18

CSP-201803-2 碰撞的小球

[Python]CCF——碰撞的小球(201612-2)

1-2018-3-2小球碰撞

CCF|碰撞的小球