NOJ [1069] Paralines Zero

这题太无聊了,你可以理解为二进制的排列、。。。。

#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int *ptr=new int[n];
        int i,j;
        for(i=1;i<=n;i++)
            ptr[i]=0;
        for(i=1;i<=pow(2,n);i++)
        {
            printf("<");
            for(j=1;j<=n;j++)
            {
                if(ptr[j]==0)
                    printf("A");
                else
                    printf("B");
                if(j!=n)
                    printf(", ");
                else
                    printf(">\n");
            }
            ptr[n]++;
            for(j=n;j>=1;j--)
            {
                if(ptr[j]==2)
                {
                    ptr[j]=0;
                    ptr[j-1]++;
                }
            }
        }
        delete []ptr;
    }
    return 0;
}




你可能感兴趣的:(NOJ [1069] Paralines Zero)