Parencodings

 1 #include<cstdio>

 2 #include<cstring>

 3 #include<iostream>

 4 #define max 50

 5 int mark=1;

 6 using namespace std;

 7 int a[max],b[max];

 8 int main()

 9 {

10     int t,n;

11     scanf("%d",&t);

12     while(t--)

13     {

14         cin>>n;

15         for(int i=0; i<n; i++)

16             scanf("%d",&a[i]);

17         int m=0,j=0;

18         //for(int i=0; i<n; i++)

19             //printf("%d\n",a[i]);

20         for(int i=0;i<n;i++)

21         {

22             while(m<a[i])

23             {

24                 b[j++]=0;

25                 m++;

26             }

27             m=a[i];

28             b[j++]=1;

29         }

30         int c;

31         for(int i=0; i<j; i++)

32         {

33             if(b[i]==1)

34             {

35                 for(c=i;c>=0;c--)

36                 {

37                     if(b[c]==0)

38                     {

39                         b[c]=-1;

40                         break;

41                     }

42                 }

43                 int t=0;

44                 for(int k=c;k<=i;k++)

45                 {

46                     if(b[k]==1)

47                     {

48                         t++;

49                     }

50                 }

51                 if(mark)

52                 {

53                     printf("%d",t);

54                     mark=0;

55                 }

56                 else printf(" %d",t);

57             }

58         }

59         printf("\n");

60         mark=1;

61     }

62     return 0;

63 }
View Code

 

你可能感兴趣的:(encoding)