POJ1776(哈密顿路径)
题目:
http://poj.org/problem?id=1776
题意:
给出一个n*n的矩阵,若第i个任务做完之后可以做第j个任务,则矩阵的第i行第j列为1,否则为0。机器完成一项任务之后会自动转到下一个任务,否则机器会自动停止。
求出最少的启动次数,输出每次启动次数完成的任务个数和任务序列。
思路:
题目给出一个竞赛图(即任意两点之间有且仅有一条有向边的有向图),则竞赛图一定存在哈密顿路径。题目转化为求一条哈密顿路径。
#include <cstdio>
#include <string.h>
using namespace std;
const int inf = 0x3ffffffff;
const int maxn = 1005;
int n, head, t, g[maxn][maxn], ans[maxn];
char s[maxn][maxn];
void Hamliton(){
memset(ans, -1, sizeof(ans));
head = 1;
for (int i = 2; i <= n; ++i) {
bool flag = 0;
for (int j = head; ~j; j = ans[j]) {
if (g[i][j]) {
if (j == head) head = i;
else ans[t] = i;
ans[i] = j;
flag = 1;
break;
}
else t = j;
}
if (!flag) ans[t] = i;
}
}
int main()
{
scanf("%d\n", &n);
for (int i = 1; i <= n; i++) {
scanf("%s", s[i]);
}
for (int i = 1; i <= n; ++i) {
for (int j = 0; j < n; ++j) {
if (s[i][j] == '+')
g[i][j + 1] = 1;
}
}
Hamliton();
printf("YES\n");
for (int i = head; ~i; i = ans[i]) {
printf("%d", i-1);
printf(" ");
}
return 0;
}
POJ1776(哈密顿路径)的更多相关文章
- <路径算法>哈密顿路径变种问题(2016华为软件精英挑战赛初赛)
原创博客,转载请联系博主! 前言:几天前华为的这个软件精英(算法外包)挑战赛初赛刚刚落幕,其实这次是我第二次参加,只不过去年只入围到了64强(32强是复赛线),最后搞到了一个华为的一顶帽子(感谢交大l ...
- 【Codeforces】【图论】【数量】【哈密顿路径】Fake bullions (CodeForces - 804F)
题意 有n个黑帮(gang),每个黑帮有siz[i]个人,黑帮与黑帮之间有有向边,并形成了一个竞赛完全图(即去除方向后正好为一个无向完全图).在很多年前,有一些人参与了一次大型抢劫,参与抢劫的人都获得 ...
- 【CH0103】最短哈密顿路径
题目大意:给定一个 N 个点的无向图,点有点权,求从 0 号点走到 N-1 号点的最短哈密顿路径是多少. 题解:由于哈密顿路径的定义是每个顶点必须经过且仅能经过一次,因此,可用当前是否经过了这些点和当 ...
- CDOJ 1960 构造哈密顿路径
题意: 给定n个点的有向完全图,希望通过其中n-1条边将n个点串起来(2<=n<=1000) 欧拉路径:经过所有边且只经过一次 哈密顿路径:经过所有点且只经过一次 思路: 本题条件特殊,有 ...
- BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
题目链接 \(Description\) 给出一个n个点的有向图,任意两个点之间有且仅一条有向边.对于每个点v,求出从v出发的一条经过点数最多,且没有重复经过同一个点一次以上的简单路径. n<= ...
- BZOJ4727 [POI2017]Turysta 【竞赛图哈密顿路径/回路】
题目链接 BZOJ4727 题解 前置芝士 1.竞赛图存在哈密顿路径 2.竞赛图存在哈密顿回路,当且仅当它是强联通的 所以我们将图缩点后,拓扑排序后一定是一条链,且之前的块内的点和之后块内的点的边一定 ...
- HDU 5424——Rikka with Graph II——————【哈密顿路径】
Rikka with Graph II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- ural 1143. Electric Path(凸包上最短哈密顿路径)
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1143 题意:逆时针给一个凸包的n(n<=200)个顶点坐标,求一个最短哈密顿路径的 ...
- hdu 5424 Rikka with Graph II(dfs+哈密顿路径)
Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so h ...
随机推荐
- Language Model
在某次会上的语言模型的ppt.
- 中文维基百科分类提取(jwpl)--构建知识图谱数据获取
首先感谢 : 1.https://blog.csdn.net/qq_39023569/article/details/88556301 2.https://www.cnblogs.com/Cheris ...
- 持续集成:jenkins集合
持续集成:jenkins集合 jenkins(一): 持续集成和Jenkins简介 jenkins(二): Jenkins的安装 jenkins(三): Jenkins的应用场景和job ...
- 当前行的td值传入模态框
<!-- 让include引用的页面,因为故障列表和周.月故障列表里面的table和分页是一样的前端页面,只有一点不同,没必要每个页面都写这些 --> <table id=" ...
- Linux 磁盘原理与管理 (分区 挂载)
目前硬盘与主机系统的联系主要有几种传输介面规格: IDE介面: IDE介面插槽所使用的排线较宽,每条排线上面可以接两个IDE装置,由於可以接两个装置,那为了判别两个装置的主/从架构, ...
- 【转】Android WiFi 经常掉线出现的几个原因分析!
原因1.从Log分析来看,这个是由于Dhcp request fail 导致最终disconnect . Log 分析如下: 16:53:31.659 958 6525 D NetUtils: dhc ...
- JMeter接口测试-如何循环使用接口返回的多值?
前言 在用JMeter做接口测试的时候,经常会遇到这样一种情况:一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值:第二种情况:只想循环请求前一个接口返回值中的随机不定长度的某一些值 ...
- window.location操作url对象
URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成:scheme://host:port/path?query#fragment s ...
- Solr系列2-Solr服务安装
1: Solr简介 1.1 简介: 1.2 下载: 2:Solr 安装 2.1 安装 2.2 目录结构 3 :启动Solr 3.1 启动 3.2使用Solr提供的测试数据 3.5 Solr配置文集 3 ...
- 解决IIS程序池回收webapi定时程序造成的影响
问题描述: webapi中有一个定时器线程,在iis程序池在1740分钟回收后,定时器中止 问题解决步骤: 1.设置程序池定期回收,设置每天定时回收 2.在windows自带的任务计划中,添加一条任务 ...