zoukankan      html  css  js  c++  java
  • 6-2 铁轨 uva 514

    较为简单的stack题目

    但是还是犯了一些错误:

    1、 要想清空栈,直接重新定义较为方便!

    2、在if(s.top()==x)时  加上  !s.empty()  否则程序会崩溃

    3、 必须要加上i--  错了好久

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
    int a[2005];
    int n;
    
    while(scanf("%d",&n)&&n)
    {
    
     while(1){
    
           stack<int>s;//方便重置!
          scanf("%d",&a[1]);
          if(a[1]==0)break;
       for(int i=2;i<=n;i++)
         {scanf("%d",&a[i]);}
    
    
    
    
         int ok=1;
         int j=1;
       for(int i=1;i<=n;i++)
       {
    
    
           if(j==a[i]){j++;}
           else if(!s.empty()&&s.top()==a[i]){s.pop();}//没有 s.empty会崩溃
           else  if(j<=n){j++;s.push(j-1);i--;}//i--至关重要 !!!
           else {ok=0;break;}
    
       }
    
       if(ok)printf("Yes
    ");
       else printf("No
    ");
    
     }
    printf("
    ");
    
    }
        return 0;
    }
    View Code
    #include<bits/stdc++.h>
    using namespace std;
    
    
    
    
    int main()
    {
        int n;
        while(cin>>n&&n)
        {
            int a[10000]={0};
            while(1){  stack<int>k;
            scanf("%d",&a[0]);if(a[0]==0)break;
            for(int i=1;i<n;i++)cin>>a[i];
    
            int ok=1;int j=1;
            for(int i=0;i<n;i++)
            {
                if(a[i]==j){j++;continue;}
                else if(!k.empty()&&a[i]==k.top()){k.pop();continue;}
                else if(j<a[i])
                { 
                    while(j<a[i])
                    {   
                        k.push(j);j++;
                    }
                    j++;
                }
                else {ok=0;break;}
            }
    
    
            if(ok)printf("Yes
    ");else printf("No
    ");
            }
            cout<<endl;
    
    
        }
    
    
    
    
        return 0;
    }
    View Code
  • 相关阅读:
    Oracle Index 索引监控
    Oracle Job
    Oracle 数据类型
    Greenplum 的发展历史
    Mongodb账户管理
    MongoDB 备份与恢复
    MySQL 查看用户授予的权限
    Linux 不同方法查看进程消耗CPU IO 等
    Oracle 体系结构图
    Oracle 后台进程(六)PMON进程
  • 原文地址:https://www.cnblogs.com/bxd123/p/10284508.html
Copyright © 2011-2022 走看看