description


analysis

  • 明显括号序长度是偶数,如果其中一个是奇数,那么只能让这奇数行或列是括号序

  • 对于两个都是偶数,需要分类讨论,假设\(n<m\)

  • 有一种是牺牲掉\(n\over 2\)行,第一行全左括号,最后一行全右括号

  • ,比如这样,这个比较容易想到,答案是\(m+{n\over 2}-1\)

  • 有一种是牺牲掉第一行列、最后一行列,结果剩下\(n+m-4\)行列全都可行

  • ,像这样构造,最后取两个中较优的


code

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define ll long long
#define reg register ll
#define max(x,y) ((x>y)?(x):(y))
#define min(x,y) ((x<y)?(x):(y))
#define fo(i,a,b) for (reg i=a;i<=b;++i)
#define fd(i,a,b) for (reg i=a;i>=b;--i) using namespace std; ll n,m; int main()
{
//freopen("T1.in","r",stdin);
freopen("butterfly.in","r",stdin);
freopen("butterfly.out","w",stdout);
scanf("%lld%lld",&n,&m);
if (n&1)
{
if (m&1)
{
fo(i,1,n){fo(j,1,m)putchar('(');putchar('\n');}
return 0;
}
fo(i,1,n){fo(j,1,m/2)putchar('(');fo(j,1,m/2)putchar(')');putchar('\n');}
return 0;
}
if (m&1)
{
fo(i,1,n){fo(j,1,m)putchar(i<=n/2?'(':')');putchar('\n');}
return 0;
}
if (n+m-4>max(n,m)+min(n,m)/2-1)
{
fo(j,1,m)putchar('(');putchar('\n');
fo(i,2,n-1)
{
putchar('(');
fo(j,2,m-1)putchar(!((i+j)&1)?'(':')');
putchar(')'),putchar('\n');
}
fo(j,1,m)putchar(')');putchar('\n');
return 0;
}
if (n>m)
{
fo(i,1,n/2)
{
fo(j,1,m/2)putchar('('),putchar(')');
putchar('\n');
fo(j,1,m/2)putchar('(');
fo(j,1,m/2)putchar(')');
putchar('\n');
}
return 0;
}
fo(j,1,m)putchar('(');putchar('\n');
fo(i,2,n-1)
{
//fo(j,1,m)putchar((!(i&1) && j<=m/2) || ((i&1) && j>m/2)?')':'(');
fo(j,1,m/2)putchar(!(i&1)?'(':')'),putchar(!(i&1)?')':'(');
putchar('\n');
}
fo(j,1,m)putchar(')');putchar('\n');
printf("!@##!@\n");
return 0;
}

【JZOJ6375】华灵[蝶妄想]的更多相关文章

  1. 9 Days 停课修炼题解集

    xj4604 排序 \(n,k <= 1e5\). 先考虑二分出这个值,check 有多少段的平均值小于这个 mid,这个在之前的复活赛中是原题 T4,数形结合,$ \text{Average} ...

  2. 《西部世界》S2E9:蝶化庄周,浮生若梦

    原以为第九集能解开本季大半的疑惑,结果还是被骗了……看来<西部世界>铁了心要把主要秘密都放在大结局里揭晓,大家就再等一周吧. 尽管如此,本集还是说清了不少谜团:比如威廉和格蕾丝的真实身份, ...

  3. 公司管理系列--Facebook 如何化茧成蝶[转]

    拒绝传统,看 Facebook 如何以三大法宝化茧成蝶:人才吸引.工程师文化和项目开发流程   我将结合之前在Facebook的四年工作经验,介绍Facebook创新的管理方法以及整个工程文化形成的方 ...

  4. 架构妄想:AJAX + REST

    William Vambenepe的最新文章,AJAX + REST是最新的架构妄想,让我们回想起了一个具有15年历史的架构,它曾被寄期望对Web产生革命性的影响. 在该架构里,Web服务器将返回包含 ...

  5. 3ds Max制作妄想中的外星人形象

    来源:CG游 作者:FedericoScarbini 使用软件:3ds Max, Photoshop, ZBrush 简介 我认为每一个人都曾经在他的人生中的某些时刻妄想着关于外星人的事情;我猜这是很 ...

  6. 华为云BigData Pro解读: 鲲鹏云容器助力大数据破茧成蝶

    华为云鲲鹏云容器 见证BigData Pro蝶变之旅大数据之路顺应人类科技的进步而诞生,一直顺风顺水,不到20年时间,已渗透到社会生产和人们生活的方方面面,.然而,伴随着信息量的指数级增长,大数据也开 ...

  7. 蝶式套利(butterfly spread)

    多头蝶式套利.预期市场价格趋于稳定,希望在这个价格区间内能获利,可选用多头蝶式套利,以较低的议定价格买进一个看涨期权,又以较高的议定价格买进一个看涨期权,同时又以介于上述2个议定价格之间的中等的议定价 ...

  8. 化茧成蝶,开源NetWorkSocket通讯组件

    前言 前后历时三年,期间大量参考.Net Framework和Asp.net MVC源代码,写写删删再重构,组件如今更新到V1.5.x了.从原来的丑小鸭,变成今天拥有稳定和强大的tcp协议支持基础层, ...

  9. Effective C++ -----条款21:必须返回对象时,别妄想返回其reference

    绝不要返回pointer或reference指向一个local stack对象,或返回reference指向一个heap-allocated对象,或返回pointer或reference指向一个loc ...

随机推荐

  1. selenium3与Python3实战 web自动化测试框架✍✍✍

    selenium3与Python3实战 web自动化测试框架  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课 ...

  2. 屏幕操作录制成gif图的技巧

    我呢,在记录一些做过得实例的时候,总需要上一两张效果图,截静态图太浪费时间了,于是就找了一些录制git图的软件 一.Gif动画录制工具 这是我在360软件中心下载的,用了一下,不好用,录制出来的图是黑 ...

  3. 牛客OI月赛12-提高组题解

    牛客OI月赛12-提高组 当天晚上被\(loli\)要求去打了某高端oj部分原创的模拟赛,第二天看了牛客的题觉得非常清真,于是就去写了 不难发现现场写出\(260\text{pts}\)并不需要动脑子 ...

  4. 笔记-Linux安装中文版man

    使用环境为Ubuntu,安装中文版man,同时保留了英文原版,步骤如下: 第一种方法 sudo apt-get update # 更新你的下载源目录,此步骤可省略. sudo apt-get inst ...

  5. composer 的安装以及一些插件的下载等

    安装composer: 下载composer: curl -sS https://getcomposer.org/installer | php 将composer.phar文件移动到bin目录以便全 ...

  6. Struts2.xml的配置

    框架初始知识: Servlet  VS   Filter Filter的性能更强,因为Servlet能实现的,Filter都能实现. Filter还有拦截资源的作用 是Servlet所不能实现的. F ...

  7. Q:elementUI中tree组件动态展开

    1,在组件中设置展开收缩开关  default-expand-all="isExpand" 2,展开收起触发按钮 <div class="tree-foot cle ...

  8. Servlet - Tomcat服务器相关

    1. 服务器 : 服务器其实就是代码编写的一个程序, 可以根据用户发送的请求, 调用执行对应的逻辑代码 2. Tomcat目录结构说明 : \bin : 存放启动和关闭Tomcat的可执行文件 \co ...

  9. NX二次开发-UFUN编辑图层类别描述UF_LAYER_edit_category_descr

    1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_layer.h> 5 6 7 UF_initialize(); 8 9 //创 ...

  10. 简单理解js回调函数

    前言 其实回调函数简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数那下面们来通过一个实例来具体解释 ...