time limit: 1000ms memory limit: 65536k 有疑問?點這裡^_^
想想雙向鍊錶……雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首;兩頭都可以做出隊,入隊的操作。
現在給你一系列的操作,請輸出最後佇列的狀態;
命令格式:
lin x x表示乙個整數,命令代表左邊進隊操作;
rin x 表示右邊進隊操作;
rout
lout 表示出隊操作;
第一行包含乙個整數m(m<=10000),表示有m個操作;
以下m行每行包含一條命令;
命令可能不合法,對於不合法的命令,請在輸出中處理;
輸出的第一行包含佇列進行了m次操作後的狀態,從左往右輸出,每兩個之間用空格隔開;
以下若干行處理不合法的命令(如果存在);
對於不合法的命令,請輸出一行x error
其中x表示是第幾條命令;
8lin 5
rin 6
lin 3
lout
rout
rout
rout
lin 3
37 error
**實現:
#include #include #include #include using namespace std;
#define maxsize 10100
struct node
;typedef struct
sqqueue;
int initqueue(sqqueue &q)
void lin(sqqueue &q,int m)
void rin(sqqueue &q,int m)
void rout(sqqueue &q)
void lout(sqqueue &q)
void show(sqqueue &q)
}int main()
else if(strcmp(a,"rin") == 0)
else if(strcmp(a,"lout") == 0)
else if(strcmp(a,"rout") == 0)
}show(q);
if(k)
return 0;
}
1466 雙向佇列
problem description 想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右邊進隊操作 rout 右出佇列 lo...
SDUT 1466 雙向佇列
想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右邊進隊操作 rout lout 表示出隊操作 第一行包含乙個整數m m 10...
SDUT 1466 雙向佇列
problem description 想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右邊進隊操作 rout lout 表示...