当前位置: 首页 > news >正文

ZT16 小欧的括号嵌套

描述

小欧想要构造一个合法的括号序列满足以下条件:

1.括号序列长度恰好为2×n。
2.括号序列的嵌套层数最大值为r。


括号嵌套层数是指在一个字符串中,以左括号 "(" 和右括号 ")" 形成的括号对的最大嵌套深度。
例如,在字符串 "((())())" 中,括号嵌套层数最大值为 3。

输入描述:

一行两个整数n,r(1≤r≤n≤10^5)。

输出描述:

一行一个字符串表示括号序列。若有多种构造方案,输出任意一个即可。

示例1

输入:

3 2

输出:

()(())
一、问题分析

首先读题,仔细看描述中的内容,发现需求是

1.给定两个数字n和r

2.构造最大深度为r的括号序列,其中括号的数量为n*2。

3.()一个括号的深度为1,(())一个括号包括一个括号,深度为2

二、解题思路

1.首先,为了满足条件我们的深度r应该小于等于n

2.如果满足条件,我们可以直接先输出r个左括号,然后再输出r个右括号

3.接下来还剩下n-r个左右括号

4.输出(n-r)个“()”就可以了

三、具体步骤

使用的语言是C

#include <stdio.h>

int main() {
    int n, r;
    while (scanf("%d %d", &n, &r) != EOF) {
        // 如果r大于n/2那么无法完成
        if(r > n ) {
            printf("error");
            return 0;
        }
        for(int i = 0; i < r; i++) {
            printf("(");
        }
        for(int i = 0; i < r; i++) {
            printf(")");
        }
        for(int i = 0; i < n - r; i++) {
            printf("()");
        }
    }
    return 0;
}

相关文章:

  • Linux网络之传输层协议(UDP,TCP协议)
  • 【转】Python for Data Analysis第二版【中文版】-第三章
  • 24.[前端开发-JavaScript基础]Day01-插件配置-变量-数据
  • React低代码项目:Redux 状态管理
  • Redis|复制 REPLICA
  • Rust学习总结之-枚举
  • 半导体晶圆精控:ethercat转profient网关数据提升制造精度
  • 2024中国信通院“集智”蓝皮书合集(附下载)
  • Windows-内核
  • 解决免费 PDF 发票打印痛点的实用工具
  • 回调函数的用法
  • AI大模型-提示工程学习笔记19-自我反思
  • HBuilder X安装教程(2025版)
  • C++ ⾼性能内存池
  • Spring 创建对象的流程
  • Rk3568驱动开发_点亮led灯(手动挡)_5
  • 文件上传漏洞学习笔记
  • 【SRC实战】搜索功能泄露订单号+用户定位
  • 自学c++之类、对象、封装
  • 【语法】C++的string
  • 体坛联播|欧冠巴萨3比3战平国米,柯洁未进入国家集训队
  • 滨江集团:一季度营收225.07亿元,净利润9.75亿元
  • 深入贯彻中央八项规定精神学习教育中央指导组派驻地方和单位名单公布
  • “富卫保险冠军赛马日”创双纪录,打造赛马旅游盛宴,印证香港联通国际优势
  • 5145篇报道中的上海车展:40年,什么变了?
  • 出国留学、来华留学呈现双增新趋势,“00后留学生个性鲜明”