Result: Accepted
Time: 3ms
Memory: 1124kB
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int n,m=0,sum=0,left[55],right[55],i=0,j=0,t,i1,j1,k,p=0,q=0;
char s[30],s2[35];
char a[4][20]={"pushLeft","pushRight","popLeft","popRight"};
char b[4][20]={"Pushed in left:","Pushed in right:","The queue is full","The queue is empty"};
char c[2][20]={"Popped from left:","Popped from right:"};
scanf("%d %d",&n,&t);
getchar();
while(t--){
gets(s2);
j1=0;
m=0;
for(i1=0;i1<strlen(s2);i1++){
if(s2[i1]!=' '){
s[j1]=s2[i1];
j1++;
}
else{
break;
}
}
if(i!=strlen(s2)){
for(k=i1+1;k<strlen(s2);k++)
m=m*10+s2[k]-48;
}
if(strncmp(a[0],s,strlen(a[0]))==0){
if(sum<n){
left[i]=m;
i++;
sum++;
printf("%s %d\n",b[0],m);
}
else
printf("%s\n",b[2]);
}
else if(strncmp(a[1],s,strlen(a[1]))==0){
if(sum<n){
right[j]=m;
j++;
sum++;
printf("%s %d\n",b[1],m);
}
else
{printf("%s\n",b[2]);}
}
else if(strncmp(a[2],s,strlen(a[2]))==0 ){
if(sum==0)
printf("%s\n",b[3]);
else{
if(i>q){
printf("%s %d\n",c[0],left[i-1]);
i--;
sum--;
}
else{
printf("%s %d\n",c[0],right[p]);
p++;
sum--;
}
}
}
else if(strncmp(a[3],s,strlen(a[3]))==0 ){
if(sum==0)
printf("%s\n",b[3]);
else{
if(j>p){
printf("%s %d\n",c[1],right[j-1]);
j--;
sum--;
}
else{
printf("%s %d\n",c[1],left[q]);
q++;
sum--;
}
}
}
}
}