【数据结构】栈—表达式括号匹配
【题目描述】
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
【输入描述】
一行数据,即表达式。
【输出描述】
一行,即“YES” 或“NO”。
【样例输入】
2*(x+y)/(1-x)@
【样例输出】
YES
【题目描述】
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
【输入描述】
一行数据,即表达式。
【输出描述】
一行,即“YES” 或“NO”。
【样例输入】
2*(x+y)/(1-x)@
【样例输出】
YES
【题目描述】
已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1X1)子矩阵。
比如,如下4 x 4的矩阵
0 -2 -7 0
9 2 -6 2
-4 1 4 1
-1 8 0 -2
的最大子矩阵是
9 2
-4 1
-1 8
这个子矩阵的大小是15。
【输入描述】
输入是一个N x N。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数...)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[-127,127]。
【输出描述】
最大子矩阵的大小
【样例输入】
4 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2
【样例输出】
15
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213;
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
两行,第一行n。表示有n个数。
第二行是 n个数。
连接成的多位数
3 13 312 343
34331213
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:
虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。
某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。
所以一套系统有可能不能拦截所有的导弹。
输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。
计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。
n颗依次飞来的高度(1≤n≤1000)。
要拦截所有导弹最小配备的系统数k。
389 207 155 300 299 170 158 65
2
输入:导弹高度: 4 3 2
输出:导弹拦截系统k=1
给定一个长度为m的区间,再给出n条线段的起点和终点(本题考虑闭区间),求最少使用多少线段可以将整个区间完全覆盖。
【输入】
第一行是区间长度m。第二行是n,表示有n个可选区间。后面跟着n行数据,每行包含两个值,第一个是当前区间的起始端点值,第二个是当前区间的结束端点值。
能覆盖m的最少的区间个数
【输入样例1】
8 6 2 6 1 4 3 6 3 7 6 8 2 4 3 5
3