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的更多相关文章

随机推荐

  1. ubuntu 命令行软件包管理

    安装软件包 apt-get install vim 卸载 apt-get remove/autoremove vim autoremove 会顺便卸载未使用,未被依赖的软件包 查询或者搜索软件包:: ...

  2. Oracle 的简单描述

    在 Oracle 开发中,客户端把 SQL 语句发送给服务器,服务器对 SQL 语句进行编译.执行,把执行的结果返回给客户端. Oracle SQL 语句由如下命令组成:  数据定义语言( DDL) ...

  3. AI线性图标教程-转起

  4. iOS -动态可变参数

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  5. PPT扁平化手册 2

  6. 有趣的JavaScript

    让你的js代码从一行开始,另一行结束: var s /*:String*/ = "Test \ multi \ line."; 看到没,只需要在你换行的字符串后面加上反斜线(bac ...

  7. WPF案例(-)模拟Windows7 Win+Tab切换

    原文:WPF案例(-)模拟Windows7 Win+Tab切换 一个使用Wpf模拟Windows7 Win+Tab页面切换的小程序,使用快捷键Ctrl+Down或Ctrl+Up在示例程序各个页面元素之 ...

  8. Java NIO 学习笔记五 缓冲区补充

    1.缓冲区分配 方法   以 ByteBuffer 为例 (1)使用静态方法 ByteBuffer buffer = ByteBuffer.allocate( 500 ); allocate() 方法 ...

  9. CTextUI 文本控件 显示数字方法

    得将数字变成字符串才行 m_ptxtCurrentcharUI->SetText(util::int32ToCString(txtLength)); 或 String.valueOf(x) 或 ...

  10. Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题

    Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题 今天闲来无事,准备搭一套SSM的环境,当然所有的jar包都用最新的. Mybatis使用3.4.6, ...