POJ-1086 Parencodings (模拟)
思路:利用题意给的数组我们求出每个右括号距离前一个右括号之间有多少左括号,作差即可,然后我们就可以模拟操作了。
#include<iostream>
#include<cstdio>
#define pb push_back
using namespace std
;
int main(){
int t
;scanf("%d",&t
);
while(t
--){
int n
,a
[25]={};
scanf("%d",&n
);
for(int i
=1;i
<=n
;i
++) scanf("%d",&a
[i
]);
for(int i
=n
;i
;i
--) a
[i
]-=a
[i
-1];
for(int i
=1;i
<=n
;i
++){
int j
=i
,s
=1;
while(!a
[j
]&&j
>1) j
--,s
++;
a
[j
]--;
printf("%d ",s
);
}
printf("\n");
}
}
转载请注明原文地址: https://lol.8miu.com/read-35183.html