题库首页 › 青少年软件编程(C语言) › 题目 16813

括号 给定一个整数 n。生成所有长度为 n 的合法括号序列,并按字典序升序输出。合法括号序列定义: (1)空字符串是合法的; (2)若字符串 s 合法,则 (+s+) 合法; (3)若字符串 s 和 t 合法,则 s+t 合法。 时间限制:1000ms内存限制:256MB 输入格式 输入一个整数n。 输出格式 每行输出一个合法括号序列(按字典序升序)。若无解则不输出。 输入样例#1 2 输出样例#1 () 输入样例#2 4 输出样例#2 (()) ()() 输入样例#3 6 输出样例#3 ((())) (()()) (())() ()(()) ()()() 数据范围: 1≤N≤20,N 是偶数。

正确答案:参考程序(Python):n=int(input());res=[];def gen(s,l,r):if len(s)==n:res.append(s);return;if l<n//2:gen(s+'(',l+1,r);if r<l:gen(s+')',l,r+1);gen('',0,0);[print(x) for x in res]。样例→(()) ()()。核心:括号序列生成。

试卷来源:202509 青少年等级考试C/C++真题六级

本卷相关题目

在线做题 同科目题库