博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1086 Parencodings
阅读量:6757 次
发布时间:2019-06-26

本文共 1109 字,大约阅读时间需要 3 分钟。

题目意思:P-sequence->代表右括号左边有几个左括号;

W-sequence->代表这对括号(包括这对括号)里面有几个左括号;

思路:首先对数字进行括号还原;

在进行括号匹配;

View Code
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;class Node{public: char str[40]; int top; Node() {top =-1;} };void Res( Node &node ){ int top = node.top,cnt=0,sum,flag=0; for( int i = 0; i <=top ; i ++ ) { cnt=0; if( node.str[i]==')' ) { sum=0; for( int j = i-1 ; j>=0 ; j-- ) { if( node.str[j]==')' ) cnt++; else { if( cnt==0 ) { printf( flag==0?"%d":" %d",sum +1); flag++; break; } else cnt--; sum++; } } } } puts(""); }int main( ){ int Case; while( scanf( "%d",&Case )==1 ) { while( Case-- ) { Node node; int n,num,front=0; scanf( "%d",&n ); for(int i =0 ; i < n ; i ++ ) { scanf( "%d",&num ); int t = num - front; while( t-- ) { node.str[++node.top]='('; } front = num; node.str[++node.top]=')'; } Res( node ); } } //system( "pause" ); return 0;}

 

 

转载于:https://www.cnblogs.com/bo-tao/archive/2012/06/29/2570254.html

你可能感兴趣的文章
Java synchronized
查看>>
mysql大内存高性能优化方案
查看>>
VSTO 学习笔记(十二)自定义公式与Ribbon
查看>>
[再寄小读者之数学篇](2015-06-24 Series)
查看>>
【Linux】linux常用基本命令
查看>>
4-python学习——数据操作
查看>>
Oracle函数
查看>>
Unity3D学习笔记第一课
查看>>
【redis使用全解析】常见运维操作
查看>>
hdu2377Bus Pass(构建更复杂的图+spfa)
查看>>
Vc6.0打开该文件坠毁
查看>>
[LeetCode] Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最小共同父节点
查看>>
2015第29周三
查看>>
hdu5024(dp)
查看>>
算法-无向图(连通分量,是否有环和二分图)
查看>>
IOS runtime动态运行时一
查看>>
媒体播放器三大底层架构
查看>>
CCBValue
查看>>
C#一些知识点:委托和事件的区别
查看>>
linux修改挂载目录
查看>>