hdu 1716 深搜dfs
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #define N 5
- int 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;
- }
hdu 1716 深搜dfs的更多相关文章
- HDU 2553 N皇后问题(深搜DFS)
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 图的遍历 之 深搜dfs
DFS 遍历 深度优先搜索是一个递归过程,有回退过程. 对一个无向连通图,在访问图中某一起始顶点u 后,由u 出发,访问它的某一邻接顶点v1:再从v1 出发,访问与v1 邻接但还没有访问过的顶点v2: ...
- 深搜(DFS),Image Perimeters
题目链接:http://poj.org/problem?id=1111 解题报告: 1.这里深搜有一点要注意,对角线上的点,如果为'.',则total不应该增加,因为这不是他的边长. #include ...
- 深搜(DFS),回溯,Fire Net
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2 解题报告: 这里的深搜有一点不同,就是,在深搜每一个点时,都要深搜每 ...
- hdu 1181 深搜
中文题 深搜 许久没写鸟,卡在输入问题上... #include <iostream> #include <string> using namespace std; bool ...
- 算法学习笔记(六) 二叉树和图遍历—深搜 DFS 与广搜 BFS
图的深搜与广搜 复习下二叉树.图的深搜与广搜. 从图的遍历说起.图的遍历方法有两种:深度优先遍历(Depth First Search), 广度优先遍历(Breadth First Search),其 ...
- 【深搜(DFS)-例题-踏青】-C++
描述 小白和他的朋友周末相约去召唤师峡谷踏青.他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地.草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都 ...
- HDU 3720 深搜 枚举
DES:从23个队员中选出4—4—2—1共4种11人来组成比赛队伍.给出每个人对每个职位的能力值.给出m组人在一起时会产生的附加效果.问你整场比赛人员的能力和最高是多少. 用深搜暴力枚举每种类型的人选 ...
- hdu 1198 Farm Irrigation(深搜dfs || 并查集)
转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm ...
随机推荐
- hdoj--5100--Chessboard(数学推理)
Chessboard Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- PCB MS SQL 通过表名查询各字段信息和vb.net C# module类代码
正式表:各字段内容获取 ) SET @tabname = 'ppeflow' SELECT @tabname AS '表名' ,(CASE ))+ ')' )) ) )) + ')' )) ) )) ...
- Python 41 完整查询语句 和 一堆关键字
一:完整查询语句 1.拷贝表 *** create table copy_table select *from customer ; 拷贝结构 与数据 create table copy_table ...
- MSSQL服务器 电脑改名后配置
原服务器名改为新的名字后,系统配置更新 select * from sys.sysserversexec sp_dropserver 'WIN-JVU5CSOLEPL'exec sp_addserve ...
- 辨析 singleton 和 prototype
<bean id="person1" class="com.bean.life.Person"> <property name="n ...
- C99新增内容之复合文字(compound literal)
前言: 最近在复习C,发现了一些新东西,例如:变长数组,复合文字,指针的兼容性等.今天先简单谈一下复合文字. 正文: 假如需要向带有一个int参量的函数传递一个值,您可以传递一个int变量,也可以传递 ...
- 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 ...
- 一张图说明DIV盒子距离
虚线的宽高为你实际指定的width和height 虚线外的白色区域为padding 红色区域为border的width 红色外的区域为margin
- 无桌面的linux 安装VMWare Tools
1.在vmware虚拟机选项下,选择安装vmware-tools 2.将vmware安装目录下的linux.iso装载到系统中 2.1.选择需安装VMWareTools的虚拟机,右击--可移动设备-- ...
- IE浏览器发展史