OpenJudge

2929:扩号匹配

总时间限制:
1000ms
内存限制:
65536kB
描述
判断一组匹配的左右扩号序列中,每一个右扩号与之相匹配成对的左扩号是整个扩号序列的第几个扩号。输出所有判断结果。
输入
输入有两行。
第一行输入一个整数(该整数必定是偶数),该整数表示扩号序列中一共有多少个扩号。
第二行输入用1和2分别代表左右扩号的扩号序列。例如输入序列11211222,表示扩号序列(()(()))。
输出
输出为一行。即挨个输出每个2(右扩号‘)’)与之相匹配的1(左扩号‘(’)在扩号序列中是第几个,用空格格开。
样例输入
4
1212
4
1122
6
112122
8
11211222
20
11211122122121122212
样例输出
1 3
2 1
2 4 1
2 5 4 1
2 6 5 9 4 12 15 14 1 19
提示
输入的扩号总数一定为偶数。输入的12序列必定是匹配的,1和2的个数相等,必为扩号总数的一半。
测试数据有多组,采用while()循环输入。
来源
06计算概论课
全局题号
1931
添加于
2009-10-29
提交次数
1861
尝试人数
967
通过人数
936
您的评价 很水 简单 一般 较难 变态
  • 标签(多个标签用空格分隔):
  • 常用标签:
    递归   动态规划   贪心   搜索   枚举   模拟   数学   字符串处理   几何   高精度计算   图论  

共有6人评分

33.3%
0.0%
0.0%
0.0%
66.7%