poj 1068 Parencodings
http://poj.org/problem?id=1068
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int vis[100]; 5 int q[100]; 6 void chack(char str[]) 7 { 8 9 int count=0; 10 int i,j,k,d; 11 int len=strlen(str); 12 for(i=0;i<len;i++) 13 { 14 if(str[i]==')'&&!vis[i]) 15 { 16 vis[i]=1; 17 for(j=i-1;j>=0;j--) 18 { 19 if(str[j]=='('&&!vis[j]) 20 { 21 vis[j]=1; 22 break; 23 } 24 } 25 d=0; 26 for(k=j;k<i;k++) 27 { 28 if(str[k]=='(') 29 d++; 30 } 31 q[count++]=d; 32 } 33 } 34 for(i=0;i<count-1;i++) 35 printf("%d ",q[i]); 36 printf("%d ",q[i]); 37 } 38 int main() 39 { 40 int i,j; 41 int s[100]; 42 int n,m; 43 char str[100]; 44 scanf("%d",&n); 45 while(n--) 46 { 47 int cot=0; 48 int k=0; 49 scanf("%d",&m); 50 for(i=0; i<m; i++) 51 scanf("%d",&s[i]); 52 for(i=0; i<m; i++) 53 { 54 for(j=cot; j<s[i]; j++) 55 str[k++]='('; 56 str[k++]=')'; 57 cot=s[i]; 58 } 59 str[k]='