1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #define N 5
  5. int f[N];
  6. int visit[N];
  7. int vis[10000];
  8. void dfs(int sum,int k) {
  9. int i;
  10. if(k==4) {
  11. if(vis[sum]==0)
  12. vis[sum]=1;
  13. return ;
  14. }
  15. for(i=0;i<4;i++) {
  16. if(visit[i]==0) {
  17. visit[i]=1;
  18. dfs(sum*10+f[i],k+1);
  19. visit[i]=0;
  20. }
  21. }
  22. }
  23. int main() {
  24. int i,k,sum,ff=0,flag;
  25. while(scanf("%d%d%d%d",&f[0],&f[1],&f[2],&f[3]),f[0]||f[1]||f[2]||f[3]) {
  26. memset(visit,0,sizeof(visit));
  27. if(ff)
  28. printf("\n");
  29. ff=1;
  30. memset(vis,0,sizeof(vis));
  31. sum=0;k=0;
  32. for(i=0;i<4;i++) {
  33. visit[i]=1;
  34. dfs(sum*10+f[i],k+1);
  35. visit[i]=0;
  36. }
  37. k=1;flag=0;
  38. for(i=1000;i<10000;i++) {
  39. if(vis[i]) {
  40. if(i/1000!=k) {
  41. k=i/1000;//刚开始这里写的是i++一直pe,但是想了想应该是这个就对了
  42. if(flag) {
  43. printf("\n");
  44. flag=0;
  45. }
  46. }
  47. if(flag==0) {
  48. flag=1;
  49. printf("%d",i);
  50. }
  51. else
  52. printf(" %d",i);
  53. }
  54. }
  55. if(i/1000!=k) {
  56. k++;
  57. if(flag) {
  58. printf("\n");
  59. flag=0;
  60. }
  61. }
  62. }
  63. return 0;
  64. }

hdu 1716 深搜dfs的更多相关文章

  1. HDU 2553 N皇后问题(深搜DFS)

    N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. 图的遍历 之 深搜dfs

    DFS 遍历 深度优先搜索是一个递归过程,有回退过程. 对一个无向连通图,在访问图中某一起始顶点u 后,由u 出发,访问它的某一邻接顶点v1:再从v1 出发,访问与v1 邻接但还没有访问过的顶点v2: ...

  3. 深搜(DFS),Image Perimeters

    题目链接:http://poj.org/problem?id=1111 解题报告: 1.这里深搜有一点要注意,对角线上的点,如果为'.',则total不应该增加,因为这不是他的边长. #include ...

  4. 深搜(DFS),回溯,Fire Net

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2 解题报告: 这里的深搜有一点不同,就是,在深搜每一个点时,都要深搜每 ...

  5. hdu 1181 深搜

    中文题 深搜 许久没写鸟,卡在输入问题上... #include <iostream> #include <string> using namespace std; bool ...

  6. 算法学习笔记(六) 二叉树和图遍历—深搜 DFS 与广搜 BFS

    图的深搜与广搜 复习下二叉树.图的深搜与广搜. 从图的遍历说起.图的遍历方法有两种:深度优先遍历(Depth First Search), 广度优先遍历(Breadth First Search),其 ...

  7. 【深搜(DFS)-例题-踏青】-C++

    描述 小白和他的朋友周末相约去召唤师峡谷踏青.他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地.草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都 ...

  8. HDU 3720 深搜 枚举

    DES:从23个队员中选出4—4—2—1共4种11人来组成比赛队伍.给出每个人对每个职位的能力值.给出m组人在一起时会产生的附加效果.问你整场比赛人员的能力和最高是多少. 用深搜暴力枚举每种类型的人选 ...

  9. hdu 1198 Farm Irrigation(深搜dfs || 并查集)

    转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm ...

随机推荐

  1. hdoj--5100--Chessboard(数学推理)

     Chessboard Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  2. PCB MS SQL 通过表名查询各字段信息和vb.net C# module类代码

    正式表:各字段内容获取 ) SET @tabname = 'ppeflow' SELECT @tabname AS '表名' ,(CASE ))+ ')' )) ) )) + ')' )) ) )) ...

  3. Python 41 完整查询语句 和 一堆关键字

    一:完整查询语句 1.拷贝表 *** create table copy_table select *from customer ; 拷贝结构 与数据 create table copy_table ...

  4. MSSQL服务器 电脑改名后配置

    原服务器名改为新的名字后,系统配置更新 select * from sys.sysserversexec sp_dropserver 'WIN-JVU5CSOLEPL'exec sp_addserve ...

  5. 辨析 singleton 和 prototype

    <bean id="person1" class="com.bean.life.Person"> <property name="n ...

  6. C99新增内容之复合文字(compound literal)

    前言: 最近在复习C,发现了一些新东西,例如:变长数组,复合文字,指针的兼容性等.今天先简单谈一下复合文字. 正文: 假如需要向带有一个int参量的函数传递一个值,您可以传递一个int变量,也可以传递 ...

  7. X - Vasya and Socks

    Problem description Vasya has n pairs of socks. In the morning of each day Vasya has to put on a pai ...

  8. 一张图说明DIV盒子距离

    虚线的宽高为你实际指定的width和height 虚线外的白色区域为padding 红色区域为border的width 红色外的区域为margin

  9. 无桌面的linux 安装VMWare Tools

    1.在vmware虚拟机选项下,选择安装vmware-tools 2.将vmware安装目录下的linux.iso装载到系统中 2.1.选择需安装VMWareTools的虚拟机,右击--可移动设备-- ...

  10. IE浏览器发展史