poj_1068的经验
来源:互联网 发布:陌陌推广软件 编辑:程序博客网 时间:2024/04/20 03:05
做这题时,自己把这个问题想复杂了,在纸上找半天的规律,其实可以一步步来做。
#include <iostream>
#include <cstdlib>
using namespace std;
class _parentheses
{
public:
char direction;
bool matched;
int _number;
};
int main(int argc , char* argv[])
{
int sets;
cin>>sets;
for(int _i=0 ; _i<sets ; _i++)
{
int number;
cin>>number;
number*=2;
_parentheses *_p = new _parentheses[number+1];
int position;
int prePosition = 0;
int lastNum =0;
int num;
for (int k=0 ; k<number/2 ; k++)
{
cin>>num;
if (prePosition==0)
{
position = num +1;
}
else if (num > lastNum )
{
position = prePosition + 1 + (num-lastNum);
}
else if (position ==prePosition)
{
position = prePosition+1;
}
for (int j=prePosition+1 ; j<position; j++)
{
_p[j].direction = '(';
_p[j].matched = false;
}
_p[position].direction = ')';
_p[position].matched = true;
_p[position]._number = 0;
for (int m=position ; m>0 ; m--)
{
if (_p[m].direction=='(' )
{
_p[position]._number++;
if ( !_p[m].matched)
{
_p[m].matched = true;
break;
}
}
}
prePosition = position;
lastNum = num;
}
for (int i=1 ; i<=number ; i++)
{
if (_p[i].direction == ')')
{
cout<<_p[i]._number<<" ";
}
}
cout<<endl;
}
return EXIT_SUCCESS;
}
- poj_1068的经验
- Poj_1068 Parencodings
- poj_1068 Parencodings
- [POJ_1068]Parencodings
- poj_1068 字符串匹配
- Parencodings(POJ_1068)
- poj_1068 Parencodings(简单模拟+位运算)
- 【VC经验】偶的小经验一
- java的经验浅谈,多年经验!
- [老欧的经验]Robotium小经验
- 人生经验 一年多自学MATLAB的经验
- 我的经验
- 测试的经验
- RR的一些经验
- GOOGLE的一点经验
- uml(别人的经验)
- VMWare的使用经验
- VMWare的使用经验
- windows下eclipse集成cygwin编译android_NDK
- DriverStudio 安装后的设置 (图文)
- ubuntu11.04安装deb软件
- 常用sql语句
- __declspec(novtable) 的用法
- poj_1068的经验
- 编写完成端口网络服务器的一些说明
- 加强视频,关于泛型
- Vector、ArrayList和List的异同(转)
- C/C++ 位域(Bit Fields)
- IOCP配合AcceptEx的例子
- Viewstamps算法
- Ext4文件系统和Ext3文件系统性能对比
- HTTP多线路断点续传