括号模拟题
来源:互联网 发布:玄幻网络作家排行榜 编辑:程序博客网 时间:2024/06/04 19:25
description
给定一个括号字符数组S,S可以用两个整数数组P和W来描述,其中:
数组P中的元素Pi定义为:第i个右括号前面有Pi个左括号;
数组W中的元素Wi定义为,第i个右括号和其配对的左括号之间所包含的完整的括号的对数。
现在给你P数组,让你求出该字符数组S所对应的W数组。
比如下面这个例子
S (((()()())))P 4 5 6666W 1 1 1456
input
输入第一行是一个整数t (1 <= t <= 10), 表示有t组测试数据。每组数据第一行是一个整数n (1 <= n <= 20), 然后是P数组中的n个元素。
output
对于输入的每一个P数组,输出其对应的W数组
sample_input
2
6
4 5 6 6 6 6
9
4 6 6 6 6 8 9 9 9
sample_output
1 1 1 4 5 6
1 1 2 4 5 1 1 3 9
hint
source
简单模拟题,一开始想用栈,但不需要。。。
#include <cstdio>#include <iostream>#include <cstring>using namespace std;int main(){ int t,n,i,j,k; int p,w[25],s[50]; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(s,0,sizeof(s)); for(i=0;i<n;i++) { scanf("%d",&p); s[p+i]=1; } k=0; for(i=0;i<50;i++) if(s[i]==1) { int l=0,r=1; for(j=i-1;j>=0;j--) { if(s[j]==0) l++; if(s[j]==1) r++; if(s[j]==0&&l==r) { w[k++]=l; break; } } } for(i=0;i<n;i++) printf("%d ",w[i]); printf("\n"); } return 0;}
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int t,n,p[25],sum,left1[100];int main() { scanf("%d",&t); while(t--) { memset(left1,0,sizeof(left1)); scanf("%d",&n); sum=0; int cur=0; p[0]=0; for(int i=1;i<=n;i++) { scanf("%d",&p[i]); for(int j=1;j<=p[i]-p[i-1];j++) { left1[cur++] = 0; } if(i==1&&p[i]>0) { left1[cur-1]++; printf("1 "); cur--; left1[cur-1]+=left1[cur]; } else if(i>0) { if(p[i]!=p[i-1]) { left1[cur-1]++; printf("1 "); cur--; left1[cur-1]+=left1[cur]; } else { left1[cur-1]++; printf("%d ",left1[cur-1]); cur--; left1[cur-1]+=left1[cur]; } } } printf("\n"); }}
0 0
- 括号模拟题
- NOIP模拟题 括号序列
- 模拟括号
- 括号配对问题 (栈模拟 简单题)
- nefu1040关于括号的简单模拟题
- POJ 1068 括号模拟
- 模拟类似括号匹配
- stack模拟 括号匹配
- POJ 1068 (括号模拟)
- POJ1068(ACM括号模拟)
- UVALive 4882 Parenthesis 删除不必要的括号 模拟题
- 括号配对问题----栈模拟
- 括号序列noip模拟赛
- POJ 1068 Parencodings【水模拟--数括号】
- 模拟,括号匹配——Parentheses Balance
- hdu 4915 括号匹配+巧模拟
- poj1068 简单的括号匹配模拟
- 模拟——删除不必要的括号
- android studio安装gradler安装不了的问题
- Python实例浅谈之八2048游戏(字符界面)
- JAVA设计模式初探之装饰者模式
- matlab添加SVM工具包
- AVA设计模式初探之组合模式
- 括号模拟题
- Mina框架学习笔记(五)
- extjs 动态调用已经创建的控件时兼容性问题,例如blur事件
- 【转载】J2SE知识点归纳笔记(二)---Java基础知识
- java集合类
- 由跳槽引发的职业规划思考——致迷茫行进中的程序员
- 日志记录的场景、作用与方法
- 离散事件模拟--银行排队时间模拟
- JAVA设计模式初探之桥接模式