Start: Jul, 10, 2019 08:30:00
2019年度暑期短学期达标测试补考
End: Jul, 10, 2019 11:30:00
Time elapsed:
Time remaining:

Problem_ID: I
Result: Accepted
Time: 4ms
Memory: 1124kB
Author: 2018212212147
In contest: 1284

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
	int a[60],n,m,count,x,i,temp,len;
	char s[20];
	count = 0;
	scanf("%d %d",&n,&m);
	getchar();
	while(m--)
	{
		x = 0;
		gets(s);
		if(s[4]=='L')
		{
			len = strlen(s);
			for(i=9;i<len;++i)
			{
				x = x * 10 + s[i]- 48;
			}
			if(count==n)
			{
				printf("The queue is full");
			}
			else{
				if(count==0)
				{
					a[count]=x;
				}
				else
				{
					for(i=count-1;i>=0;--i)
					{
						a[i+1]=a[i];
					}
					a[0]=x;
				}
				++count;
				printf("Pushed in left: %d",x);
			}
		}
		else if(s[4]=='R')
		{
			len = strlen(s);
			for(i=10;i<len;++i)
			{
				x = x * 10 + s[i]- 48;
			}
			if(count==n)
			{
				printf("The queue is full");
			}
			else{
				a[count]=x;
				++count;
				printf("Pushed in right: %d",x);
			}
		}
		else if(s[3]=='L')
		{
			if(count==0)
			{
				printf("The queue is empty");
			}
			else
			{
				printf("Popped from left: %d",a[0]);
				for(i=0;i<count-1;++i)
				{
					a[i]=a[i+1];
				}
				--count;
			}
		}
		else if(s[3]=='R')
		{
			if(count==0)
			{
				printf("The queue is empty");
			}
			else
			{
				printf("Popped from right: %d",a[count-1]);
				--count;
			}
		}
		printf("\n");
	}
}