zoukankan      html  css  js  c++  java
  • UVA514 铁轨 Rails:题解

    题目链接:https://www.luogu.org/problemnew/show/UVA514

    分析:

    入站序列是1-n,入站后判断如果等于出站序列的当前值,则直接出站。否则就在栈里待着不动。模拟即可,可以选择使用STL栈或手写。

    代码:

    #include<cstdio>
    #include <cstring>
    #include<stack>  
    using namespace std;  
    int a[1005],n,cnt,bh,pd; 
    int main()  
    {  
        
        while(scanf("%d",&n)&&n!=0) 
        {  
            stack<int> s;  
            while(1)
    		{  
    	        scanf("%d",&a[1]);  
    	        if(a[1]==0)  break;  
    	        for(int i=2;i<=n;i++)  
    	        {  
    	             scanf("%d",&a[i]);  
    	        }  
    	        cnt=bh=pd=1;   
    	        while(bh<=n)   
    	        {  
    	            if(cnt==a[bh]) 
    				{ 
    					cnt++;
    					bh++;
    				}   
    	            else if(!s.empty()&&s.top()==a[bh]) 
    				{
    					s.pop();
    					bh++;
    				}  
    	            else if(cnt<=n) s.push(cnt++);  
    	            else  
    	            {  
    	                pd=0;  
    	                break;  
    	            }  
    	        }  
    	        printf("%s
    ",pd?"Yes":"No");
    		}  
            printf("
    ");  
        }  
        return 0;
    }  
    撒花~
    
  • 相关阅读:
    每日日报
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    JAVA日报
  • 原文地址:https://www.cnblogs.com/vercont/p/10210023.html
Copyright © 2011-2022 走看看