国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

雙向隊列

2019-11-10 21:26:16
字體:
來源:轉載
供稿:網友

PRoblem Description

想想雙向鏈表……雙向隊列的定義差不多,也就是說一個隊列的隊尾同時也是隊首;兩頭都可以做出隊,入隊的操作。

現在給你一系列的操作,請輸出最后隊列的狀態; 命令格式: LIN X X表示一個整數,命令代表左邊進隊操作; RIN X 表示右邊進隊操作; ROUT LOUT 表示出隊操作; Input

第一行包含一個整數M(M<=10000),表示有M個操作; 以下M行每行包含一條命令; 命令可能不合法,對于不合法的命令,請在輸出中處理; Output

輸出的第一行包含隊列進行了M次操作后的狀態,從左往右輸出,每兩個之間用空格隔開; 以下若干行處理不合法的命令(如果存在); 對于不合法的命令,請輸出一行X ERROR 其中X表示是第幾條命令; Example Input

8LIN 5RIN 6LIN 3LOUTROUTROUTROUTLIN 3

Example Output

37 ERROR

Hint

Author wanglin

#include <iostream>#include <algorithm>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <bits/stdc++.h>#include <stack>#include <deque>using namespace std;int main(){ int p1[10000]; int i=0; deque <int > p; char g[10]; int m; scanf("%d", &m); for(int a=1; a<=m; a++) { scanf("%s", g); if(strcmp(g, "LIN")==0) { int k; scanf("%d", &k); p.push_front(k); } else if(strcmp(g, "RIN")==0) { int k; scanf("%d", &k); p.push_back(k); } else if(strcmp(g, "ROUT")==0) { if(p.empty()) { p1[i++]=a; } else p.pop_back(); } else if(strcmp(g, "LOUT")==0) { if(p.empty()) { p1[i++]=a; } else p.pop_front(); } } int top=1; while(!p.empty()) { if(top)top=0; else printf(" "); printf("%d", p.front()); p.pop_front(); } printf("/n"); for(int a=0; a<i; a++) { printf("%d ERROR/n", p1[a]); } return 0;}
上一篇:43. Multiply Strings

下一篇:codeforces#395

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 裕民县| 镇安县| 山东省| 河北省| 新宁县| 宁国市| 大余县| 黔西| 项城市| 大新县| 长汀县| 盐源县| 建水县| 景洪市| 三明市| 松桃| 巨野县| 常山县| 博客| 敦煌市| 永城市| 金门县| 中卫市| 临澧县| 乐至县| 土默特左旗| 清水县| 腾冲县| 阿拉尔市| 河曲县| 鄱阳县| 商城县| 温州市| 德安县| 文安县| 小金县| 渭源县| 河间市| 利川市| 乌海市| 石门县|