POJ 1068 Parencodings
来源:互联网 发布:菜鸟网络待遇 编辑:程序博客网 时间:2024/06/06 02:05
POJ 1068 Parencodings
#include<cstdio>#include<cstring>using namespace std;const int maxn = 41;int lr[maxn],rl[maxn],r[maxn],ans[maxn];//记录每个括号左侧的右括号数,右侧的左括号数,右括号的位置int main(){int cas,n,num,cnt;scanf("%d",&cas);while(cas--){cnt = 1;scanf("%d",&n);for(int i = 1;i<=n;i++){scanf("%d",&num);for(int j = cnt;j<=i+num;j++){lr[j] = i-1;rl[j] = j==i+num?n-j+i:n-1-j+i;}r[i] = i+num;cnt = i+num+1;}for(int i = 1;i<=n;i++){int reg = -1; //记录与第i个右括号匹配的左括号位置for(int j = r[i]-1;j>0;j--){if((rl[j]-rl[r[i]])==(lr[r[i]]-lr[j])){ //找到与每个右括号匹配的左括号reg = j;break;}}ans[i] = lr[r[i]] - lr[reg] + 1;}for(int i = 1;i<n;i++)printf("%d ",ans[i]);printf("%d\n",ans[n]);}}
- 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
- BANK 2.0
- SUSE linux下应用安装
- AAM算法简介
- Problem 15:Lattice paths
- Side Effect与Sequence Point
- POJ 1068 Parencodings
- linux常用命令大全
- hdu 4707 Pet(图 + 邻接表)
- linux下C编程笔记
- 端口映射和代理软件stone
- atoi函数和atof函数实现
- HDU 4714 Tree2cycle
- 精通Dojo勘误表
- centos关机与重启命令详解