UVA 11995
来源:互联网 发布:windows7 ping 端口 编辑:程序博客网 时间:2024/06/07 07:14
刷水题刷的比较爽,这题也是比较简单的一题,pat上刚刚也考过一个pop sequence与这题类似,直接模拟即可,分别建立stack,queue,priority_queue然后分别模拟push,pop,最后判断即可。 代码:
#include <iostream>#include <cstdio>#include <algorithm>#include <stack>#include <queue>using namespace std;int main(){int n,op,num;bool is_stack, is_queue, is_priority;while(scanf("%d",&n)!=EOF){stack<int> adt_1;queue<int> adt_2;priority_queue<int> adt_3;is_stack = true;is_queue = true;is_priority = true;for(int i=0;i<n;i++){scanf("%d%d",&op,&num);if(is_stack||is_queue||is_priority){switch(op){case 1:adt_1.push(num);adt_2.push(num);adt_3.push(num);break;case 2:if(is_stack){if((adt_1.empty())||(adt_1.top()!=num))is_stack = false;elseadt_1.pop();}if(is_queue){if((adt_2.empty())||(adt_2.front()!=num))is_queue = false;elseadt_2.pop();}if(is_priority){if((adt_3.empty())||(adt_3.top()!=num))is_priority = false;elseadt_3.pop();}break;}}}if(is_stack&&!is_queue&&!is_priority){printf("stack\n");}else if(!is_stack&&is_queue&&!is_priority){printf("queue\n");}else if(!is_stack&&!is_queue&&is_priority){printf("priority queue\n");}else if(!is_stack&&!is_queue&&!is_priority){printf("impossible\n");}else{printf("not sure\n");}}return 0;}
- UVA 11995
- UVA 11995
- UVA 11995
- uva 11995
- uva 11995
- UVa 11995
- uva 11995 STL模拟
- uva 11995 ADT
- uva 11995(stl)
- uva 11995 猜猜数据结构
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- linux虚拟文件系统浅析
- ThinkPHP 中实现 Rewrite 模式
- 再就是很早之前在本子上写的一个作业了。
- linux文件读写浅析
- linux文件系统实现浅析
- UVA 11995
- IMX6的相关音频结构体的定义
- GridView的使用及数据的回传带分页
- Java程序性能优化之找出内存溢出元凶
- 学习java必须知道的几个东西
- 你还在原地等待吗?
- spring整合jar详解
- 补考不容易
- Ubuntu 12.10 PPPoE