POJ-1086 Parencodings (模拟)

it2026-03-12  3

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"); } }
最新回复(0)