习题7-1 消防车(Firetruck, ACM/ICPC World Finals 1991, UVa208)
来源:互联网 发布:linux phpmyadmin 编辑:程序博客网 时间:2024/04/30 02:46
#include <iostream>#include <string>#include <vector>#include <stack>#include <queue>#include <deque>#include <set>#include <map>#include <algorithm>#include <sstream>#include <utility>#include <cstring>#include <cstdio>#include <cstdlib>#include <ctime>#include <cmath>#include <cctype>#define CLEAR(a, b) memset(a, b, sizeof(a))#define IN() freopen("in.txt", "r", stdin)#define OUT() freopen("out.txt", "w", stdout)#define LL long long#define mod 1000000007#define INF 1000000007#define eps 1e-5#define PI 3.1415926535898using namespace std;//-------------------------CHC------------------------------//const int maxn = 25;int n;vector<int> to[maxn];bool vis[maxn];int cnt;int ans[maxn];bool check(int u) {if (u == n) return true;vis[u] = true;for (int i = 0; i < to[u].size(); ++i)if (!vis[to[u][i]] && check(to[u][i])) return true;return false;}void dfs(int u, int cur) {if (u == n) {++cnt;for (int i = 0; i < cur; ++i)printf("%d ", ans[i]);printf("%d\n", n);return;}ans[cur] = u;for (int i = 0; i < to[u].size(); ++i) {int v = to[u][i];if (!vis[v]) {vis[v] = true;dfs(v, cur+1);vis[v] = false;}}}int main() {int kase = 1;while (~scanf("%d", &n)) {for (int i = 1; i < maxn; ++i) to[i].clear();CLEAR(vis, 0);int u, v;while (scanf("%d%d", &u, &v) && (u || v)) {to[u].push_back(v);to[v].push_back(u);}for (int i = 1; i <= n; ++i) sort(to[i].begin(), to[i].end());printf("CASE %d:\n", kase++);cnt = 0;if (check(1)) {CLEAR(vis, 0);vis[1] = true;dfs(1, 0);}printf("There are %d routes from the firestation to streetcorner %d.\n", cnt, n);}return 0;}
阅读全文
0 0
- 习题7-1 消防车(Firetruck, ACM/ICPC World Finals 1991, UVa208)
- 习题7-1 消防车 UVa208
- 习题7-3 多米诺效应(The Domino Effect, ACM/ICPC World Finals 1991, UVa211)
- Uva208 Firetruck【dfs】【习题7-1】
- UVa804 习题 6-7 Petri网模拟(Petri Net Simulation,ACM/ICPC World Finals 1998)
- 习题6-7 Petri网模拟(Petri Net Simulation, ACM/ICPC World Finals 1998, UVa804)
- 习题7-2 黄金图形(Golygons, ACM/ICPC World Finals 1993, UVa225)
- 习题7-4 切断圆环链(Cutting Chains, ACM/ICPC World Finals 2000, UVa818)
- 习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)
- 习题3-8 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
- UVa806 习题6-8 空间结构(Spatial Structures,ACM/ICPC World Finals 1998)
- 习题6-8 空间结构(Spatial Structures, ACM/ICPC World Finals 1998, UVa806)
- 习题6-12 筛子难题(A Dicey Problem, ACM/ICPC World Finals 1999, UVa810)
- 习题6-13 电子表格计算器(Spreadsheet Calculator, ACM/ICPC World Finals 1992, UVa215)
- 例题6-1 并行程序模拟(Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210)
- ACM-ICPC World Finals 2017
- 习题7-1:消防车(dfs+回溯)
- 算法竞赛入门经典-习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994,UVa232)
- laravel5日志设置篇(3/3) – 精确到微秒及日志输出位置记录
- golang channel阻塞问题解决
- 从设计模式怎样提升设计
- 浅谈Java中的equals和==
- 欢迎使用CSDN-markdown编辑器
- 习题7-1 消防车(Firetruck, ACM/ICPC World Finals 1991, UVa208)
- orcale函数大全
- mvn command record
- CentOS7 下安装 PostgreSQL10
- .NET 和 Docker结合使用
- Python字符串的encode与decode
- hadoop搭建之jdk安装【问题】
- 关于Modbus 3区、4区寄存器地址的理解以及Freemodbus中开始地址的设定
- 转载--javaScript函数嵌套