/*渣渣题*/
#include<iostream>
using namespace std;
#include<string.h>
#include<string>
int main()
{
int t = 0;
cin >> t;
while (t--)
{
int i=0,j=0,k=1,n = 0,ans=1, a[100], b[100],c[100],d[100];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> a[i];
}
for (i = 1; i <= n; i++)
{
if (i == 1)
{
for (j = 1; j <= a[1]; j++)
b[k++] = 0;
b[k++] = 1;
}
else
{
for (j = 1; j <= a[i]-a[i-1]; j++)
b[k++] = 0;
b[k++] = 1;
}
}
int x = 1;
for (i = 1; i <=2*n; i++)
{
if (b[i] == 1)
{
b[i] = 0;
c[i] = 2;
for (j = i-1; j >= 1; j--)
{
if (b[j] == 0 && c[j] == 2)
x++;
if (b[j] == 0&&c[j]==0)
{
c[j] = 1;
d[ans++] = x;
x = 1;
break;
}
}
}
}
for (i = 1; i < ans-1; i++)
cout << d[i] << " ";
cout << d[ans-1] << endl;
}
}
ZOJ 1016 Parencodings
最新推荐文章于 2017-07-11 10:17:13 发布