DFS
ACM_Fish
新地址 : https://li-fish.github.io/
展开
-
数独问题(工具)
功能:输入一个数独(用二维数组表示),求出数独的解。效果图:实现原理:DFS搜索遍历。二维数组储存数据。源代码:#include<iostream>#include<cstring>#include<cstring>#include<cstdio>using namespace std;int data[112][112];void put(){ cout << "---原创 2016-12-05 22:58:32 · 711 阅读 · 0 评论 -
12558 - Egyptian Fractions (HARD version) (IDA* + 剪枝)
题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4003题目大意埃及分数问题,给定一个分数,用几个不相同的分数表示,有多个表示的话,用的分数越少越好,还是多解的话,最小的分数越大越好,然后第二小的分数越大越好……一直到最大的分数越大越好。解题过程见紫原创 2017-03-16 21:55:57 · 380 阅读 · 0 评论 -
690 - Pipeline Scheduling (DFS + 状态压缩 + 剪枝)
题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=631题目大意有 5 个不同的工作单元,10 个相同的程序,每个程序需要运行 n 个时间段,每个时间段需要一个工作单元工作。现在问至少需要多少时间,才可以执行完全部的程序。解题过程大体思路就是暴力模拟,原创 2017-03-15 18:07:29 · 448 阅读 · 0 评论 -
818 - Cutting Chains (枚举子集 + 状态压缩)
题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=759题目大意给定n个环,其中有些环可以扣在一起,一个环可以和多个环扣在一起。 现在需要求最少打开多少个环才能使这些环构成一条链。(当然打开了环还需要扣上,打开扣上算一次操作)解题过程既然是暴力里面的原创 2017-03-14 19:13:27 · 687 阅读 · 0 评论 -
UVA140 - Bandwidth (暴力dfs+排列+剪枝)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=76题目大意有一个图,有n个节点 (n < 8) ,讲这些节点排成一列。定义节点i的带宽为与相邻节点在排列中的最远距离,所有节点的带宽最大值为图的带宽。求将这些节点排列后,带宽最小的一种排列方式。解题原创 2017-02-15 21:09:48 · 1459 阅读 · 0 评论 -
UVA - 11212 Editing a Book(迭代加深搜索 IDA* + 模板)
题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2153题目大意给定一个长度 1 ~ 9 的整数序列,每个整数 1 ~ 9 。序列是无序的,你有两种操作,剪切和粘贴,两种操作均可以处理任意长度。求至少经过多少次操作,可以使序列有序(递增)。解题过程本原创 2017-02-21 20:53:44 · 509 阅读 · 0 评论 -
UVa 1354 - Mobile Computing(二叉树 + DFS)
题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4100题目大意给定多个二叉树的叶子,每个节点有一个重量,两个节点可以用一个木棍连接,一个木棍的一头可以连接一个叶子节点,或者另一根木棍。要保证每个木棍平衡,符合胡克定律。解题过程刚开始写的,状态是用一原创 2017-02-18 16:53:25 · 470 阅读 · 0 评论 -
UVA122 Trees on the level(二叉树建立与遍历)
题目链接:Trees on the level题目大意:按题目要求建立二叉树,层次遍历即可。 输入格式为: (11,LL) (7,LLL) (8,R) (5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) () (3,L) (4,R) ()空括号表示结束一颗树的输入,前面的表示值,后面表示节点,由根节点到这个节点的路径表示。解题过程:毕竟第一次写二原创 2016-12-08 21:36:36 · 465 阅读 · 0 评论 -
自动走迷宫(DFS)
功能:输入一张地图,找出一条可到达终点的路径,1代表不可走,0代表可走,2代表终点。效果图:实现原理:DFS遍历。二维数组储存地图。 - 源代码:因为输入数据太麻烦,附了组数据。#include<stdio.h>typedef struct{ int x; int y; int s; int f;}note;int map[999][999], bo原创 2016-12-05 23:12:44 · 1161 阅读 · 0 评论 -
HDUOJ3549 - Flow Problem(网络流+最大流最小割+模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549题目大意:有向图求最大流解题过程:关于为什么增加流量时要增加一个反向负流量的边纠结了很久,最后还是想通了,其他就没难点了。题目分析:增广路算法,每一次尽可能的添加一条增广路,直到不能添加增广路为止,不过有个特殊的地方,按照挑战书上的说法是,可以把之前的流推回去。按照我的理解大概是现在的这个新加的增广原创 2017-05-19 09:43:51 · 326 阅读 · 0 评论