如果用全排列生成之后,在判断是否是素数环是会超时的,应该用回溯。

回溯的时候  首先要注意 递归边界 ,结束的时候别忘记判断最后一个和第一个元素能否成立 

还有要记得vis的使用和递归之后的清理。

 #include <cstdio>
 #include <cstring>
 using  namespace std;
 ;
 +],vis [+];
 +];
 void  dfs(int cur)
 {
     ]+a[]])
     {
         printf(]);
         ;i<n;i++)
             printf(" %d",a[i]);
         printf("\n");
         return ;
     }

     ;i<=n;i++)
     {
          && isprime[ a[cur-]+i ] )
         {
             vis[i]=;a[cur]=i;
             dfs(cur+);
             vis[i]=;
         }
     }
 }
 int  main()
 {
     ;i<=;i++)   isprime[i]=true;
     isprime[]=isprime[]=false;
     ;i<=;i++)
     {
         if(isprime[i])
         {
             ;j+=i)
             {
                 isprime[j]=false;
             }
         }
     }
     ;
     while(~scanf("%d",&n))
     {
         if(flag) printf("\n");
         flag=;

         printf("Case %d:\n",++p);
         memset(vis,,sizeof(vis));

         a[]=;vis[]=;
         dfs();

     }
     ;
 }

最新文章

  1. Hibernate 中出现表名(XXX) is not mapped 问题
  2. Win10计算器在哪里?三种可以打开Win10计算器的方法图文介绍
  3. Asp.net管道模型(管线模型)
  4. JAVA 判断Socket 远程端是否断开连接
  5. Routine
  6. 【Linux命令与工具】ps命令
  7. jdk安装环境变量设置
  8. EasyUi datagrid 表格分页例子
  9. 关于ios项目沙盒中的文件和Xcode项目创建的文件
  10. 【转】在XCode工程中创建bundle包
  11. Android常用控件之GridView使用BaseAdapter
  12. ZOJ 3483 简单if-else
  13. 读书笔记:《重来REWORK》
  14. 朴素UNIX之-打开历史
  15. [TJOI 2013]单词
  16. Selenium爬取电影网页写成csv文件
  17. Echarts跟随容器自适应大小问题
  18. Android引入动态库so的方法
  19. jquery Ajax get()/post()
  20. python 阿狸的进阶之路(8)

热门文章

  1. JSON数据格式
  2. simpleTree简单使用
  3. 【leetcode】 Longest Valid Parentheses (hard)★
  4. 手动关闭searchDisplayControlelr
  5. PDO(数据访问抽象层)
  6. Java反射实战
  7. Redis事件管理(二)
  8. 安装jdk源码
  9. EF增删改查基础
  10. Mex文件在VS2010中调试方法