hdu1016

来源:互联网 发布:本.西蒙斯数据 编辑:程序博客网 时间:2024/05/21 00:52
#include<iostream>#include<stdio.h>using namespace std;int g[50],a[30],b[30],n;void sous(int k,int m){     a[k]=m;    if(k==n)     {        if(g[1+m]==0) return ;        printf("%d",a[1]);        for(int i=2;i<=n;i++)        printf(" %d",a[i]);        printf("\n");        return ;    }    for(int i=2;i<=n;i++)        if(b[i]&&g[i+m])         {            b[i]=0;                                    sous(k+1,i);            b[i]=1;         }                 }int main(){    int i,j,k=1;    for(i=0;i<42;i++) g[i]=0;    g[2]=g[3]=g[5]=g[7]=g[11]=g[13]=g[17]=g[19]=g[23]=g[29]=g[31]=g[37]=g[41]=1;    while(cin>>n)    {        for(i=0;i<=n;i++)        b[i]=1;        printf("Case %d:\n",k++);        sous(1,1);        printf("\n");    }    return 0;}

 

原创粉丝点击