import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static int kase=0,n;
public static int [] circles=new int [50];
public static boolean[] flag=new boolean[50],primes=new boolean[50];
public static void intiPrimes()
{Arrays.fill(primes,true);
for(int i=2;i<=30;i++)
{
for(int j=i+i;j<50;j+=i)
{
if(j%i==0)
primes[j]=false;
}
}
primes[0]=primes[1]=false;

}
public static void DFS(int i)
{if(i==n)
{if(primes[1+circles[n-1]]){
for(int j=0;j<n;j++)
{if(j==n-1)
System.out.print(circles[j]);
else
System.out.print(circles[j]+" ");

}
System.out.println();
}
return;
}
else
{for(int j=2;j<=n;j++)
{if(flag[j]){
if(primes[j+circles[i-1]]&&(j+circles[i-1]&1)!=0)
{
flag[j]=false;
circles[i]=j;
DFS(i+1);
flag[j]=true;
}
}
}
}
return;
}
public static void main(String[] args)
{Scanner in=new Scanner(System.in);
intiPrimes();
while(in.hasNext())
{n=in.nextInt();
System.out.println("Case"+" "+(++kase)+":");
if(n==1)
{System.out.println(1);
System.out.println();
continue;
}
else if((n&1)!=0)
{System.out.println();
continue;
}
Arrays.fill(flag,true);
circles[0]=1;
flag[1]=false;
DFS(1);
System.out.println();
}
}
}

System.out.println("Case"+" "+(++kase)+":");注意这个地方的输出方式;

hdu1016JAVA的更多相关文章

随机推荐

  1. LINUX中的虚拟文件系统结构

    我的博客:www.while0.com 以下以2.6.32版本的内核源码为例: 虚拟文件系统与具体文件系统之间是几组操作函数的对应,包括file_operations,dentry_operation ...

  2. c/c++ void 指针

    原文 : http://blog.csdn.net/yyyuhan/article/details/3153290 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使 ...

  3. bzoj3698

    显然是有源有汇有下界最大流,不刷不知道,一刷吓一跳发现了我之前求有源有汇有下界最大流的错误,具体见我那篇介绍有下界的网络流的解题报告(bzoj2502),已经更正 ; type node=record ...

  4. linux cross toolsChain 交叉编译 ARM(转)

    转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04    内核版本:L ...

  5. Jmeter:图形界面压力测试工具

    Jmeter是一款强大的图形界面压力测试工具,完全用Java写成,关于Jmeter的介绍,网上其实有不少的文章,我原本是不想再重复写类似文章的,但我发现有些很关键性的,在我们测试中一定会用到的一些设置 ...

  6. lightoj 1003

    有向图拓扑排序,判段是否存在. #include<map> #include<cstdio> #include<string> #include<cstrin ...

  7. POJ 3254 (状态压缩DP)

    思路:状态压缩dp,用二进制位的1表示放了,0表示没有放.设dp[i][j],表示第i行状态为j时,前i行的方案数,状态转移方程就是 dp[i][j] += dp[i-1][k],j与k这两个状态不冲 ...

  8. 关于NSLocalizedString(@"Foo %@",nil)

    NSLocalizedString(@"Foo %@",nil) 这句话实际上是在多语言文件中寻找一个key为“Foo %@”的文字,千万不要把这个和[NSString strin ...

  9. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程06:技能播放的逻辑关系》

    6.技能播放的逻辑关系 技能播放概述: 当完成对技能输入与检测之后,程序就该对输入在缓存器中的按键操作与程序读取的技能表信息进行匹配,根据匹配结果播放相应的连招技能. 技能播放原理: 按键缓存器中内容 ...

  10. PC-ADSL开机自动拨号方法

    方法一:把adsl拨号的快捷方式放到“开始”菜单中“所有程序”中的“启动”中. 再到“控制面板”中的“网络连接”中找到你用的拨号连接,鼠标右键点击选择“属性”.然后,在窗口上部选择“选项”,把“拨号选 ...