记录编号 278411 评测结果 AAAAAAAAAA
题目名称 苳岑学姐の超电磁炮 最终得分 100
用户昵称 Gravatarc2018 是否通过 通过
代码语言 C++ 运行时间 0.575 s
提交时间 2016-07-07 21:03:30 内存使用 0.40 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,l,m;
int T[110];
struct reball
{
	int pos,id2;
}N[1800];
struct newball
{
	int pos,dre,id1,id2;
}NN[1800];
newball NNN[1800];
reball NNNN[1800];
void init()
{
	cin>>n>>l;
	for(int i=1;i<=n;i++)
	{	cin>>NN[i].pos>>NN[i].dre;NN[i].id1=i;}
	cin>>m;
	for(int i=1;i<=m;i++)
		cin>>T[i];
}
bool mycmp1(newball x,newball y){return x.pos<y.pos;}
bool mycmp2(newball x,newball y){return x.id1<y.id1;}
void work(int t)
{
	for(int i=1;i<=n;i++)
	{
		if(NNN[i].dre==1) NNN[i].pos-=t;
		else NNN[i].pos+=t;
	}
	sort(NNN+1,NNN+n+1,mycmp1);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(NNNN[j].id2==i) NNNN[j].pos=NNN[i].pos;
		}
	}
	
}
int main()
{
	freopen("dcball.in","r",stdin);
	freopen("dcball.out","w",stdout);
	init();
	sort(NN+1,NN+n+1,mycmp1);
	for(int i=1;i<=n;i++)
		NN[i].id2=i;
	sort(NN+1,NN+n+1,mycmp2);
	for(int i=1;i<=n;i++)
		N[i].id2=NN[i].id2;
	for(int k=1;k<=m;k++)
	{
		for(int i=1;i<=n;i++)
		{
			NNN[i].pos=NN[i].pos;
			NNN[i].dre=NN[i].dre;
			NNN[i].id1=NN[i].id1;
			NNN[i].id2=NN[i].id2;
			NNNN[i].pos=N[i].pos;
			NNNN[i].id2=N[i].id2;
		}
		work(T[k]);
		for(int j=1;j<=n;j++)
		{
			if(NNNN[j].pos>l||NNNN[j].pos<=0)  cout<<"fire in the hole"<<' ';
			else cout<<NNNN[j].pos<<' ';
		}
		cout<<endl;
	}
	return 0;
}