一道关于哈密顿回路的有关问题
一道关于哈密顿回路的问题
问题 I: 逃出密室
时间限制: 2 Sec 内存限制: 128 MB Special Judge
提交: 508 解决: 22
[提交][状态][讨论版]
题目描述
超哥来到一间密室,忽然一阵阴风把门关上了。魔法学校的门需要魔力才能打开,而超哥没有那间密室的魔力。超哥继续往密室深处走,发现一堆魔法瓶和一些古老的文字。上面写着:欲开启密室,需收集所有瓶中魔力。开启魔法瓶需严格按照顺序,否则将焚毁密室…
文字记载了一个N×N的0,1矩阵GN×N,还记录了任意两个魔法瓶之间的开启规则:
你可以从任意一个魔法瓶开始。
魔法瓶j能在紧随魔法瓶i之后被安全打开,当且仅当Gi,j=1。
魔法瓶j紧随魔法瓶i之后被打开,密室会被焚毁,当且仅当Gi,j=0。
文字最后写道,任意两个魔法瓶,都可以相邻。即:Gi,j⊕Gj,i=1(∀i≠j)
你能帮超哥找到一个开启所有魔法瓶方案吗?
输入
第一行一个整数N,魔法瓶的个数,接着N行,每行N个数,0或1。
第i行第j列为1,表示开启第i个魔法瓶后,下一个开启的魔法瓶可以是j。
保证矩阵 第i行第j列与 第j行第i列数值不同,第i行i列为0。
N≤1000
输出
N个数,空格隔开,表示打开魔法瓶编号顺序。
样例输入
2
0 0
1 0
样例输出
2 1
一看肯定是哈密顿回路问题,但是问题中所给边都是有向的,这该怎么做呢??
附题库链接:http://acm.seu.edu.cn/oj/problem.php?id=104
------解决方案--------------------
没有捷径。多做题,到处看。黑书算是知识点比较多的,但想要全还是只能自己到处多看看。
问题 I: 逃出密室
时间限制: 2 Sec 内存限制: 128 MB Special Judge
提交: 508 解决: 22
[提交][状态][讨论版]
题目描述
超哥来到一间密室,忽然一阵阴风把门关上了。魔法学校的门需要魔力才能打开,而超哥没有那间密室的魔力。超哥继续往密室深处走,发现一堆魔法瓶和一些古老的文字。上面写着:欲开启密室,需收集所有瓶中魔力。开启魔法瓶需严格按照顺序,否则将焚毁密室…
文字记载了一个N×N的0,1矩阵GN×N,还记录了任意两个魔法瓶之间的开启规则:
你可以从任意一个魔法瓶开始。
魔法瓶j能在紧随魔法瓶i之后被安全打开,当且仅当Gi,j=1。
魔法瓶j紧随魔法瓶i之后被打开,密室会被焚毁,当且仅当Gi,j=0。
文字最后写道,任意两个魔法瓶,都可以相邻。即:Gi,j⊕Gj,i=1(∀i≠j)
你能帮超哥找到一个开启所有魔法瓶方案吗?
输入
第一行一个整数N,魔法瓶的个数,接着N行,每行N个数,0或1。
第i行第j列为1,表示开启第i个魔法瓶后,下一个开启的魔法瓶可以是j。
保证矩阵 第i行第j列与 第j行第i列数值不同,第i行i列为0。
N≤1000
输出
N个数,空格隔开,表示打开魔法瓶编号顺序。
样例输入
2
0 0
1 0
样例输出
2 1
一看肯定是哈密顿回路问题,但是问题中所给边都是有向的,这该怎么做呢??
附题库链接:http://acm.seu.edu.cn/oj/problem.php?id=104
------解决方案--------------------
没有捷径。多做题,到处看。黑书算是知识点比较多的,但想要全还是只能自己到处多看看。