【例题 7-4 UVA - 524】Prime Ring Problem
2017-12-05 12:29
399 查看
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
预处理出所有的答案。
打表输出。
【代码】
import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; public class Main { static int a[] = new int[20]; static boolean bo[] = new boolean[20]; static ArrayList<String>[] list = new ArrayList[20]; static boolean is_prime(int x){ for (int i = 2;i <= Math.sqrt(x);i++) if(x%i==0) return false; return true; } static void dfs(int n,int now){ if (now>n){ if (n==1 || is_prime(a +a[1])){ StringBuilder temp = new StringBuilder(); for (int i = 1;i <= n;i++){ temp.append(a[i]); if (i==n) temp.append('\n');else temp.append(' '); } list .add(temp.toString()); } return; } for (int i = 1;i <= n;i++) if (!bo[i] && (now==1 || is_prime(i+a[now-1]))){ a[now] = i; bo[i] = true; dfs(n,now+1); bo[i] = false; } } public static void main(String[] args){ for (int i = 1;i <= 16;i++) list[i] = new ArrayList<String>(); for (int i = 1;i <= 16;i++){ bo[1] = true; a[1] = 1; dfs(i,2); } Scanner cin = new Scanner(System.in); int n,kase = 0; while (cin.hasNext()){ if (kase>0) System.out.println(""); n = cin.nextInt(); System.out.println("Case "+(++kase)+":"); for (String x:list ) System.out.print(x); } } }
相关文章推荐
- 例题7-4 UVA 524 Prime Ring Problem
- UVa 524 Prime Ring Problem (例题7-4)
- 紫书搜索 例题7-4 UVA - 524 Prime Ring Problem
- UVa-524 - Prime Ring Problem
- Prime Ring Problem UVA - 524
- UVa 524 - Prime Ring Problem(回溯)
- uva 524 - Prime Ring Problem
- 7.4.2 Prime Ring Problem UVA 524
- uva 524 - Prime Ring Problem(dfs)
- uva 524 prime ring problem——yhx
- UVA 524(p194)----Prime Ring Problem
- UVA-524 Prime Ring Problem
- Uva 524 Prime Ring Problem
- UVA - 524 Prime Ring Problem
- uva 524 Prime Ring Problem
- uva 524 Prime Ring Problem
- UVa 524:Prime Ring Problem(回溯)
- UVa - 524 - Prime Ring Problem
- Prime Ring Problem(UVA 524)
- UVa - 524 - Prime Ring Problem