Bryce1010模板

http://acm.hdu.edu.cn/showproblem.php?pid=6299

两个字符串的排序可以分成四种情况:

(1)str1左少右多 vs str2 左多右少

str2排在str1前面

(2)str1 左多右少 vs str2 左少右多

str1排在str2前面

(3)str1 左少右多 vs str2 左少右多

按左括号的数量排序

(4)其他情况按右括号的数量排

 if(l<=r&&s.l>s.r)//左少右多  vs  左多右少
{
return false;
}
if(l>r&&s.l<=s.r)//左多右少 vs 左少右多
{
return true;
}
if(r>=l&&s.r>=s.l)//左少右多 vs 左少右多
{
return l>s.l;
}
return r<s.r;

最后用一个if维护左括号的数量,不断更新对应右括号的最大值(从dls的代码学到的)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int MAXN=1e5+10; struct Str
{
int l,r,add;
bool operator < (const Str& s)const
{
if(l<=r&&s.l>s.r)//左少右多 vs 左多右少
{
return false;
}
if(l>r&&s.l<=s.r)//左多右少 vs 左少右多
{
return true;
}
if(r>=l&&s.r>=s.l)//左少右多 vs 左少右多
{
return l>s.l;
}
return r<s.r;
}
}str[MAXN];
char s[MAXN];
int main()
{
//freopen("in.txt","r",stdin);
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%s",s);
str[i].l=str[i].r=str[i].add=0;
int len=strlen(s);
//count括号
for(int j=0;j<len;j++)
{
if(s[j]=='(')
str[i].l++;
else
{
if(str[i].l>0)
str[i].l--,str[i].add++;
else
str[i].r++;
}
} }
sort(str+1,str+1+n);
int ans=0;
int now=0;
for(int i=1;i<=n;i++)
{
if(str[i].r>now)
{
str[i].r=now;
}
ans+=str[i].r+str[i].add;
now-=str[i].r;
now+=str[i].l;
}
cout<<ans*2<<endl;
}
}

最新文章

  1. [锋利JQ]-图片提示效果
  2. 使用javascript实现html页面直接下载网盘文件
  3. static-const 类成员变量
  4. ORACLE添加表约束的语法示例
  5. Java Fx-安装E(FX)CLIPSE IDE
  6. Xmanager连接CentOS的远程桌面
  7. Java---多线程之死锁
  8. assembly 基础
  9. 大数据处理的三种框架:Storm,Spark和Samza
  10. Eclipse常用快捷键总结
  11. angular脚手架搭建
  12. MyBatis动态SQL之一使用 if 标签和 choose标签
  13. Codeforces 919D Substring 【拓扑排序】+【DP】
  14. Java设计模式从精通到入门二 装饰器模式
  15. Mybatis3——使用学习(一)
  16. Dubbo后台管理和监控中心部署
  17. HAproxy-1.6.X 安装部署
  18. pom xml testng
  19. C#引用类型转换的几种方式
  20. org.dom4j.DocumentException: unknown protocol: d Nested exception: unknown

热门文章

  1. Android 反编译工具
  2. Codeforces696 Round #362 (Div. 1)(vp) A~D题解
  3. LightOJ1197 Help Hanzo —— 大区间素数筛选
  4. struts2 学习日记1
  5. Pyhton:汉诺塔游戏
  6. 最新版ADT(Build: v22.6.2)总是引用appcompat_v7的问题
  7. PID736(rqnoj)
  8. Win7点击文件夹右键可打开cmd控制台,并获取当前目录
  9. MVC 登录后重定向回最初请求的 URL FormsAuthentication.RedirectFromLoginPage
  10. CS231n 2016 通关 第三章-Softmax 作业