zoukankan      html  css  js  c++  java
  • 编程题

    假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。
    输入格式:
    输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个仅由S和X构成的序列。序列保证不为空,且长度不超过100。
    输出格式:
    对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO如果不是。

    输入样例:
    4 10
    SSSXXSXXSX
    SSSXXSXXS
    SSSSSSSSSSXSSXXXXXXXXXXX
    SSSXXSXXX

    输出样例:
    YES
    NO
    NO
    NO

    代码

    #include<iostream>
    using namespace std;
    int main(){
    	int n,m,i,flag=0,j,top=0,a[100]={0},k=0;
    	cin>>n>>m;
    	getchar();
    	for(i=0;i<n;i++){
    		char c;
    	    while((c=getchar())!='
    '){
    	    	if(c=='S'){
    	    	    top++;
    	    	    if(top>m)
    	    	    flag=1;
    	    	}
    	    	if(c=='X'){
    	    		top--;
    	    		if(top<0)
    	    		flag=1;
    			}
    		}
    		if(flag==0&&top==0)
    		cout<<"YES"<<endl;
    		else
    		cout<<"NO"<<endl;
    		top=0;
    		flag=0;
    	}
    	return 0;
    }
    

    给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。

    输入格式:
    输入第1行给出正整数n(≤10
    ​5
    ​​ );第2行给出n个整数,其间以空格分隔。

    输出格式:
    在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。

    输入样例:
    15
    1 9 2 5 7 3 4 6 8 0 11 15 17 17 10
    输出样例:
    3 4 6 8

    代码

    #include<iostream>
    #define MAXN 100000
    using namespace std;
    int main(){
    	int n,i,a[MAXN],left=0,right=0,tl=0,maxl=0,t=0;
    	cin>>n;
    	for(i=0;i<n;i++)
    	cin>>a[i];
    	for(i=0;i<n;i++){
    		tl++;
    		if(tl>maxl){
    			maxl=tl;
    			left=t;
    			right=i;
    		}
    		if(a[i]>=a[i+1]){
    			t=i+1;
    			tl=0;
    		}
    	}
    	for(i=left;i<right;i++)
    	cout<<a[i]<<" ";
    	cout<<a[right];
    	return 0;
    }
    

    填空部分稍后再整理

  • 相关阅读:
    10.13_extjs,combox,效率为什么这么低
    10.12_win8风格,把专业书籍当小说看,SQLite
    10.11_魔兽世界
    10.10_魔兽账号,OSC代码托管演示,研究SQL别忘记了,git
    10.09_命名:包名、类名、方法名
    10.08_逛逛OSC
    国庆第七日(2014年10月7日17:55:56),随手记,一些关注的OSC软件,花生壳
    国庆第六日(2014年10月6日11:51:15),node-webkit,理财产品
    国庆第五日2014-10-05 10:03,电子书
    truffle框架快速开发合约步骤
  • 原文地址:https://www.cnblogs.com/XINJIUXJ/p/13700765.html
Copyright © 2011-2022 走看看