CCF 201609-2 火车购票 100分

CCF 201609-2 火车购票 100分_第1张图片
CCF 201609-2 火车购票 100分_第2张图片

#include 
using namespace std;
int seat[21];
int main()
{
	for(int i=1;i<=20;i++) seat[i]=5;
	int order;
	cin>>order;
	int all[order];
	for(int i=0;i<order;i++)
	{
		cin>>all[i];	
	}
	for(int i=0;i<order;i++)
	{
		bool flag=0;
		for(int j=1;j<=20;j++)
		{
			if(seat[j]>=all[i])
			{
				int loc=5*j-seat[j]+1;
				for(int k=0;k<all[i];k++)
				{
					if(k!=all[i]-1) cout<<loc+k<<" ";
					else cout<<loc+k;
				}
				seat[j]-=all[i];
				flag=1;
				break;
			}
		}
		if(!flag)
		{
			for(int j=1;j<=20;j++)
			{
				if(seat[j]>0)
				{
				int loc=5*j-seat[j]+1;
				int temp=seat[j];
				for(int a=0;a<temp;a++)
				{
					if(all[i]!=1) cout<<loc+a<<" ";
					else cout<<loc+a;
					seat[j]-=1;
					all[i]-=1;
					if(all[i]==0)
					{
						flag=1;
						break;
					}
				}
				if(flag) break;
			}
			}
		}
		if(i!=order-1)
		cout<<endl;
	}
	return 0;
}

你可能感兴趣的:(CCF 201609-2 火车购票 100分)