zoj1016Parencodings

来源:互联网 发布:js怎么获取数组的长度 编辑:程序博客网 时间:2024/05/29 04:37

我觉得这道题不必用栈,简单的应用就可以解决的

#include<stdio.h>int main(){    int i,t,j,n,a[42],p,k,num;    char b[42];    scanf("%d",&t);    while(t--)    {      scanf("%d",&n);      for(i=0;i<n;i++)        scanf("%d",&a[i]);              for(j=0;j<a[0];j++)        b[j]='(';      b[j++]=')';      for(i=1;i<n;i++)      {        k=a[i]-a[i-1];        while(k--)          b[j++]='(';        b[j++]=')';      }        p=0;      for(i=1;i<2*n;i++)      {         if(b[i]!=')')           continue;         else         {            num=0;            for(k=i-1;b[k]!='(';k--)               if(b[k]=='a')                 num++;            num++;            a[p++]=num;            b[k]='a';         }          }      for(i=0;i<n-1;i++)        printf("%d ",a[i]);      printf("%d\n",a[n-1]);          }          return 0;}                                                                                       


原创粉丝点击