博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1716 深搜dfs
阅读量:5245 次
发布时间:2019-06-14

本文共 1466 字,大约阅读时间需要 4 分钟。

#include
#include
#include
#define N 5int f[N];int visit[N];int vis[10000];void dfs(int sum,int k) { int i; if(k==4) { if(vis[sum]==0) vis[sum]=1; return ; } for(i=0;i<4;i++) { if(visit[i]==0) { visit[i]=1; dfs(sum*10+f[i],k+1); visit[i]=0; } }}int main() { int i,k,sum,ff=0,flag; while(scanf("%d%d%d%d",&f[0],&f[1],&f[2],&f[3]),f[0]||f[1]||f[2]||f[3]) { memset(visit,0,sizeof(visit)); if(ff) printf("\n"); ff=1; memset(vis,0,sizeof(vis)); sum=0;k=0; for(i=0;i<4;i++) { visit[i]=1; dfs(sum*10+f[i],k+1); visit[i]=0; } k=1;flag=0; for(i=1000;i<10000;i++) { if(vis[i]) { if(i/1000!=k) { k=i/1000;//刚开始这里写的是i++一直pe,但是想了想应该是这个就对了 if(flag) { printf("\n"); flag=0; } } if(flag==0) { flag=1; printf("%d",i); } else printf(" %d",i); } } if(i/1000!=k) { k++; if(flag) { printf("\n"); flag=0; } } }return 0;}

转载于:https://www.cnblogs.com/thefirstfeeling/p/4410713.html

你可能感兴趣的文章
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
PHP 导出 Excell
查看>>
Java基础教程——网络基础知识
查看>>
Kruskal基础最小生成树
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>