POJ 1068 Parencodings
来源:互联网 发布:电脑软件闪退打不开 编辑:程序博客网 时间:2024/05/03 14:12
Parencodings
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 15654 Accepted: 9332
Description
Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways:
q By an integer sequence P = p1 p2...pn where pi is the number of left parentheses before the ith right parenthesis in S (P-sequence).
q By an integer sequence W = w1 w2...wn where for each right parenthesis, say a in S, we associate an integer which is the number of right parentheses counting from the matched left parenthesis of a up to a. (W-sequence).
Following is an example of the above encodings:
Write a program to convert P-sequence of a well-formed string to the W-sequence of the same string.
q By an integer sequence P = p1 p2...pn where pi is the number of left parentheses before the ith right parenthesis in S (P-sequence).
q By an integer sequence W = w1 w2...wn where for each right parenthesis, say a in S, we associate an integer which is the number of right parentheses counting from the matched left parenthesis of a up to a. (W-sequence).
Following is an example of the above encodings:
S(((()()())))P-sequence 4 5 6666W-sequence 1 1 1456
Write a program to convert P-sequence of a well-formed string to the W-sequence of the same string.
Input
The first line of the input contains a single integer t (1 <= t <= 10), the number of test cases, followed by the input data for each test case. The first line of each test case is an integer n (1 <= n <= 20), and the second line is the P-sequence of a well-formed string. It contains n positive integers, separated with blanks, representing the P-sequence.
Output
The output file consists of exactly t lines corresponding to test cases. For each test case, the output line should contain n integers describing the W-sequence of the string corresponding to its given P-sequence.
Sample Input
264 5 6 6 6 69 4 6 6 6 6 8 9 9 9
Sample Output
1 1 1 4 5 61 1 2 4 5 1 1 3 9
Source
Tehran 2001
就是模拟题啦。
#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;int main(){ int t; int n,a[50],v; bool vis[50]; scanf("%d",&t); string c; while(t--) { c.clear(); a[0]=0; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&a[i]); for(int j=0; j<a[i]-a[i-1]; j++) { c+='('; } c+=')'; } //cout<<c<<endl; memset(vis,0,sizeof(vis)); for(int i=0; i<=2*n; i++) { if(c[i]==')') { int sum=0; for(int j=i-1; j>=0; j--) { if(c[j]=='(') { sum++; if(vis[j]==0) { vis[j]=1; break; } } } cout<<sum; if(i==(2*n-1))cout<<endl; else cout<<" "; } } } return 0;}
- poj 1068 Parencodings
- POJ 1068 Parencodings
- POJ 1068 Parencodings
- poj 1068 Parencodings
- POJ 1068 Parencodings
- POJ 1068 Parencodings
- POJ 1068 Parencodings 模拟
- POJ 1068 Parencodings
- poj 1068 Parencodings
- poj 1068 Parencodings
- poj 1068 Parencodings
- poj 1068 Parencodings
- poj-1068-Parencodings
- POJ 1068 Parencodings
- POJ 1068 Parencodings
- POJ 1068 Parencodings
- POJ-1068-Parencodings
- poj 1068 Parencodings
- 一个php采集类,含下载远程图片并替换原文
- 查看TOMCAT内存使用情况
- 读书笔记《30天自制操作系统》day12~day13
- 这个界面上有个动感狐狸想取下来
- [hadoop源码阅读][2]-package结构
- POJ 1068 Parencodings
- Hibernate原理与应用(一)
- Php服务器部署问题之http错误404.3-Not Found
- GLIB容器 链表 双向链表 HASH表 TREE 的使用
- 带参跳转界面
- MyEclipse导入jar包以及源码
- ios本地通知和远程通知
- http://acm.hdu.edu.cn/showproblem.php?pid=2222&&AC自动机
- Android Notification