Result: Accepted
Time: 6ms
Memory: 1756kB
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int main(){
int N,M;
scanf("%d %d",&N,&M);
getchar();
char str[11];
int a[51];
int rank;
int sum=0; //记录目前队列中的数个数
while(M--){
scanf("%s",str);
if(str[4]=='L'){
int k;
scanf("%d",&k);
sum++;
if(sum>N){//队列满了
printf("The queue is full\n");
sum--;
}
else{
int b[101];
printf("Pushed in left: %d\n",k);
b[0]=k;
int j=1; //记录b数的个数
for(int i=0;i<sum-1;i++){
b[j]=a[i];
j++;
}
for(int i=0;i<sum;i++){
a[i]=b[i];
}
}
}
else if(str[4]=='R'){
int k;
scanf("%d",&k);
sum++;
if(sum>N){//队列满了
printf("The queue is full\n");
sum--;
}
else{
printf("Pushed in right: %d\n",k);
a[sum-1]=k;
}
}
else if(str[4]=='e')
{
sum--;
if(sum<0){
printf("The queue is empty\n");
sum++;
}
else{
printf("Popped from left: %d\n",a[0]);
int b[101];
int j=0;
for(int i=1;i<sum+1;i++){
b[j]=a[i];
j++;
}
for(int i=0;i<sum;i++){
a[i]=b[i];
}
}
}
else{
sum--;
if(sum<0){
printf("The queue is empty\n");
sum++;
}
else{
printf("Popped from right: %d\n",a[sum]);
}
}
}
return 0;
}