标签:
Description
S (((()()())))
P-sequence 4 5 6666
W-sequence 1 1 1456
Input
Output
Sample Input
2 6 4 5 6 6 6 6 9 4 6 6 6 6 8 9 9 9
Sample Output
1 1 1 4 5 6 1 1 2 4 5 1 1 3 9
Source
#include<stdio.h> int main() { int a[1000],b[10000],c[20000],i,j,n,m,k,e; scanf("%d",&n); for(e=1;e<=n;e++){ scanf("%d",&m); for(j=0;j<m;j++) scanf("%d",&a[j]); //将左括号定义为-1右括号定义为1 for(i=0;i<2*m;i++) b[i]=-1; for(i=0;i<m;i++){ b[a[i]+i]=1; } /*for(i=0;i<2*m;i++) printf("%d ",b[i]); printf("\n");*/ //找到为1的左边为-1的数大于1的数的那个值 int p=0; for(i=0;i<2*m;i++){ int count=0;int flag=0; if(b[i]==1){ for(k=i;k>0;k--){ flag=flag+b[k]; if(flag==0) break; else if(b[k]==1) count++;} c[p]=count;p++; } } for(i=0;i<p;i++) printf("%d ",c[i]); printf("\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/zero-begin/p/4313658.html