首页 > 其他 > 详细

UVA 11995 (STL_E题)解题报告

时间:2018-01-20 23:49:30      阅读:251      评论:0      收藏:0      [点我收藏+]

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3146

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

题意:有一种名叫包的数据类型,要求通过输入输出情况判断是哪种数据类型。

思路:模拟题,将三种数据类型模拟出来,按照操作进行模拟。如果出现不符合的情况,标记出来,最后通过标记分析出来可能的数据结构。

注意:要注意不同情况的初始化,或者将数据类型定义在每种情况的局部。

代码:

技术分享图片
#include<cstdio>
#include<stack>
#include<queue>

using namespace std;
int n;

int main(void){
    
    while(~scanf("%d",&n)){
        int flag[3]={0};
        stack<int> s;
        queue<int> q;
        priority_queue<int> pq; 
        for(int i =0;i<n;i++){
            int a =0;int b =0;
            scanf("%d %d",&a,&b);
            
            if(a ==1){
                s.push(b);
                q.push(b);
                pq.push(b); 
            }else {
                if(!s.empty())  
                {  
                    if(s.top() != b)  flag[0] = 1;  
                    s.pop();  
                }  
                else  flag[0] = 1;  

                if(!q.empty())  
                {  
                    if(q.front() != b)  flag[1] = 1;  
                    q.pop();  
                }  
                else  flag[1] = 1;  
  
                if(!pq.empty())  
                {  
                    if(pq.top() != b)  flag[2] = 1;  
                    pq.pop();  
                }  
                else  flag[2] = 1;  
            }  
            }
            int count = 0;
            for(int i =0;i<3;i++){
                count+=flag[i];
            }
            if(count ==3) printf("impossible\n");
            else if(count<2) printf("not sure\n");
            else if(flag[0]==0) printf("stack\n");
            else if(flag[1]==0) printf("queue\n");
            else if(flag[2]==0) printf("priority queue\n");
        }    
    return 0;
}
View Code

 

UVA 11995 (STL_E题)解题报告

原文:https://www.cnblogs.com/caomingpei/p/8322263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!