#include<iostream>
using namespace std;
int p[25] = { 0 }, w[25] = { 0 },m=0,x=0,n=0;
char S[60] = { '\0' };
int f()
{
int s = 1;
while (x<n)
{
if (S[m] == '(')
{
m++;
s+= f();
}
else
{
w[x] = s;
x++;
m++;
return s;
}
}
}
int main()
{
int t = 0,i=0,j=0,k=0,l=0;
cin >> t;
while (t--)
{
cin >> n;
for (i = 0,l=0,k=0; i < n; i++)
{
cin >> p[i];
for (j = 0; j < p[i] - k; j++)
{
S[l] = '(';
l++;
}
S[l] = ')';
l++;
k = p[i];
}
m = x = 0;
f();
for (i = 0; i < n; i++)
{
cout << w[i] << " ";
}
cout << endl;
}
}
poj1068 模拟
最新推荐文章于 2022-02-21 12:56:26 发布