POJ1068Parencodings
http://poj.org/problem?id=1068
这个题的话就是先把给出来的一串数字转化成括号,再把括号转化成要求的,最后输出就行了
#include<cstdio>
#include<cstring>
#include<iostream>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std ;
int main()
{
stack<char>Q;
queue<char>p,q;
int n;
cin>>n;
for(int i = ; i <= n ; i++)
{
int m;
cin>>m;
int a[];
for(int j = ; j <= m ; j++)
{
cin>>a[j] ;
if(j == )
{
for(int k = ; k <= a[j] ; k++)
p.push('(');
p.push(')');
}
else
{
for(int k = a[j-] ; k < a[j] ; k++)
p.push('(');
p.push(')');
}
}
int sum ;
while(!p.empty())
{
if(p.front() == '(')
{
Q.push(p.front());
}
else
{
if(Q.top() == '(')
{
Q.pop();
Q.push();
q.push();
}
else
{
sum = ;
while(Q.top() != '(')
{
sum += Q.top() ;
Q.pop() ;
}
Q.pop() ;
q.push(sum) ;
Q.push(sum) ;
}
}
p.pop() ;
}
printf("%d",q.front());
q.pop() ;
while(!q.empty())
{
printf(" %d",q.front());
q.pop();
}
printf("\n");
}
return ;
}
POJ1068Parencodings的更多相关文章
随机推荐
- ubuntu 命令行软件包管理
安装软件包 apt-get install vim 卸载 apt-get remove/autoremove vim autoremove 会顺便卸载未使用,未被依赖的软件包 查询或者搜索软件包:: ...
- Oracle 的简单描述
在 Oracle 开发中,客户端把 SQL 语句发送给服务器,服务器对 SQL 语句进行编译.执行,把执行的结果返回给客户端. Oracle SQL 语句由如下命令组成: 数据定义语言( DDL) ...
- AI线性图标教程-转起
- iOS -动态可变参数
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- PPT扁平化手册 2
- 有趣的JavaScript
让你的js代码从一行开始,另一行结束: var s /*:String*/ = "Test \ multi \ line."; 看到没,只需要在你换行的字符串后面加上反斜线(bac ...
- WPF案例(-)模拟Windows7 Win+Tab切换
原文:WPF案例(-)模拟Windows7 Win+Tab切换 一个使用Wpf模拟Windows7 Win+Tab页面切换的小程序,使用快捷键Ctrl+Down或Ctrl+Up在示例程序各个页面元素之 ...
- Java NIO 学习笔记五 缓冲区补充
1.缓冲区分配 方法 以 ByteBuffer 为例 (1)使用静态方法 ByteBuffer buffer = ByteBuffer.allocate( 500 ); allocate() 方法 ...
- CTextUI 文本控件 显示数字方法
得将数字变成字符串才行 m_ptxtCurrentcharUI->SetText(util::int32ToCString(txtLength)); 或 String.valueOf(x) 或 ...
- Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题
Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题 今天闲来无事,准备搭一套SSM的环境,当然所有的jar包都用最新的. Mybatis使用3.4.6, ...