做题卡住了,向论坛的大哥哥大姐姐们求助
军官排队
(army.c/cpp/pas/exe/in/out)
军官命令新兵排行成列。新兵们排成了K行,每行有N人。但有K人没有排在正确的位置上。
正确的排队位置如下:第一个士兵必须是最高的,第二个是第二高的,依此类推,最后一个士兵必须是最矮的。为了排好队,军官规定每一个士兵,如果与他同一排的前一个人比他矮,那么他就向前跳一步。
注意没有两个新兵的身高相同。
军官想找出哪一排士兵跳的总次数最多,好惩罚他们到厨房去工作。你的目标就是帮助军官找到这一排。
Input
输入的第一行包含了两个数N和K(2≤N≤10000,1≤K≤20)。接下来的K行每行包含N个整数。新兵已经按照身高编好了号(1号最高,N号最矮)。每一行是相应的一排,例如某一行的第一个整数代表这行的第一个人等等。
Output
输出跳跃次数最多的那一行的编号。如果有几行次数相同,则输出行编号最小的那个。
Sample Input
3 3
1 2 3
2 1 3
3 2 1
Sample Output
3
括号序列
(brackets.c/cpp/pas/exe/in/out)
定义如下规则序列(字符串):
1. 空序列是规则序列;
2. 如果S是规则序列,那么(S)和 [S]也是规则序列;
3. 如果A和B都是规则序列,那么AB也是规则序列。
例如,下面的字符串都是规则序列:
(),[],(()),([])()[],()[()]
这几个则不是规则序列:
(,[ , ] , )( , ( [ ( )
现在,给出一些由 ( , ) , [ , ] 构成的序列(长度1<=len<=500),请添加尽量少的括号,得到一个规则序列。
输入文件:brackets.in
第一行:len(1<=len<=500)字符串的长度;
第二行:字符串。
样例1:
3
([)
样例2:
4
([)]
输出文件:brackets.out
仅一个数,表示最少需要添加的括号个数。
样例1:
1
样例2:
2