栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2704 Brackets

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2704 Brackets

#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<algorithm>#include<map>#include<set>#include<stack>#include<iostream>#include<vector>#include<queue>using namespace std;#define sz(v) ((int)(v).size())#define rep(i, n) for (int i = 0; i < (n); ++i)#define repf(i, a, b) for (int i = (a); i <= (b); ++i)#define repd(i, a, b) for (int i = (a); i >= (b); --i)#define clr(x) memset(x,0,sizeof(x))#define clrs( x , y ) memset(x,y,sizeof(x))#define out(x) printf(#x" %dn", x)#define sqr(x) ((x) * (x))typedef long long LL;const int INF = -1u>>1;const double eps = 1e-8;const int maxn = 100010;char str[maxn];int ok[maxn];stack <int> s;int main() { while(scanf("%s",str)==1) { memset(ok,0,sizeof(ok)); while(!s.empty()) s.pop(); int len = strlen(str); for(int i = 0;i<len;++i) { if(str[i] == '(' || str[i] == '[') s.push(i); else if(!s.empty()&&((str[i] == ')' && str[s.top()] == '(') || str[i] == ']'&&str[s.top()] == '[')) { ok[i] = 1; ok[s.top()] = 1; s.pop(); } else while (!s.empty()) s.pop(); } int R = -1; int cnt = 1; int max_num = 1; for(int i = 0;i<len-1;++i) { if(ok[i] == 1&&ok[i] == ok[i+1]) { cnt++; if(i==len-2) { if(cnt > max_num) { max_num = cnt; R = i+1;  } } }else { if(cnt > max_num) { max_num = cnt; R = i;  } cnt = 1; } } if(max_num == 1) { cout<<endl; cout<<endl; continue; } int L = R - max_num + 1; for(int i = L;i<=R;++i) printf("%c",str[i]); cout<<endl; cout<<endl; } return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369996.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号