进入每个' ) '多少前‘ ( ’,
我们力求在每‘ ) ’多少前‘ ) ’,
我的方法是最原始的图还原出来,去寻找‘)’。
用。
。
#include<stdio.h> #include<string.h> int y[505],t[505]; char s[505]; int main() { int a,b,i,j,u; scanf("%d",&a); while(a--) { memset(y,0,sizeof(y)); memset(t,0,sizeof(t)); memset(s,0,sizeof(s)); scanf("%d",&b); for(i=0;i<b;i++) {scanf("%d",&y[i]); } int sum=1; int ans; for(i=0,j=0;i<505;i++) { if(sum<=y[j]) { s[i]='('; sum++; } else { s[i]=')'; j++; } if(j>=b) break; } u=strlen(s); for(i=0;i<u;i++) { if(s[i]=='(') continue; else { ans=1; t[i]=1; for(j=i-1;j>=0;j--) { if(s[j]==')') ans++; if(t[j]==0) { if(s[j]=='(') {t[j]=1;break;} } } printf("%d ",ans); } } printf(" "); } return 0; }
版权声明:本文博客原创文章,博客,未经同意,不得转载。