UVa 567:Risk (Floyd)

链接:

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=508

题目:

Risk is a board game in which several opposing players attempt to conquer the world. The gameboard consists of a world map broken up into hypothetical countries. During a player's turn, armies stationed in one country are only allowed to attack only countries with which they share a common border. Upon conquest of that country, the armies may move into the newly conquered country.

During the course of play, a player often engages in a sequence of conquests with the goal of transferring a large mass of armies from some starting country to a destination country. Typically, one chooses the intervening countries so as to minimize the total number of countries that need to be conquered. Given a description of the gameboard with 20 countries each with between 1 and 19 connections to other countries, your task is to write a function that takes a starting country and a destination country and computes the minimum number of countries that must be conquered to reach the destination. You do not need to output the sequence of countries, just the number of countries to be conquered including the destination. For example, if starting and destination countries are neighbors, then your program should return one.

The following connection diagram illustrates the first sample input.

Input

Input to your program will consist of a series of country configuration test sets. Each test set will consist of a board description on lines 1 through 19. The representation avoids listing every national boundary twice by only listing the fact that country I borders country J when I < J. Thus, the Ith line, where I is less than 20, contains an integer X indicating how many ``higher-numbered" countries share borders with country I, then X distinct integers J greater than I and not exceeding 20, each describing a boundary between countries I and J. Line 20 of the test set contains a single integer (

N lines each contain exactly two integers (

There can be multiple test sets in the input file; your program should continue reading and processing until reaching the end of file. There will be at least one path between any two given countries in every country configuration.

Output

For each input set, your program should print the following message ``Test Set #T" where T is the number of the test set starting with 1 (left-justified starting in column 11).

The next NT lines each will contain the result for the corresponding test in the test set - that is, the minimum number of countries to conquer. The test result line should contain the start country code A right-justified in columns 1 and 2; the string `` to " in columns 3 to 6; the destination country code B right-justified in columns 7 and 8; the string ``: " in columns 9 and 10; and a single integer indicating the minimum number of moves required to traverse from country A to country B in the test set left-justified starting in column 11. Following all result lines of each input set, your program should print a single blank line.

Sample Input

1 3
2 3 4
3 4 5 6
1 6
1 7
2 12 13
1 8
2 9 10
1 11
1 11
2 12 17
1 14
2 14 15
2 15 16
1 16
1 19
2 18 19
1 20
1 20
5
1 20
2 9
19 5
18 19
16 20
4 2 3 5 6
1 4
3 4 10 5
5 10 11 12 19 18
2 6 7
2 7 8
2 9 10
1 9
1 10
2 11 14
3 12 13 14
3 18 17 13
4 14 15 16 17
0
0
0
2 18 20
1 19
1 20
6
1 20
8 20
15 16
11 4
7 13
2 16

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索number
, test
, to
, and
, Program Lines
, of
, The
16-20
pink floyd、floyd算法、floyd、eddie floyd、eddie floyd奥巴马,以便于您获取更多的相关知识。

时间: 2024-12-03 21:25:59

UVa 567:Risk (Floyd)的相关文章

活动目录系列之八:信任(下)

各位好!今天我们来学习一下如何在森林之间实现信任.通过活动目录系列之七:信任(上)的学习 ,我们知道了信任的含义,也知道在森林内部存在两种不可删除的信任:父子信任.树根信任.这就是之 所以我们可以在森林范围内可以无障碍的访问资源和使用资源的原因.但两个不同的森林之间如何能实现 上述的这种情况呢?这就是我们今天的话题. 场景:两个森林,一个是net.com域,有子域 sub.net.com是父子域,一个是blogcn.com域.我们要实现blogcn.com域信任 net.com域,这样net.c

WCF传输安全(Transfer Security)的基本概念和原理:认证(Authentication)[上篇]

对于任何一个企业级应用来说,安全(Security)都是一个不可回避的话题.如何识别用户的身份?如何将用户可执行的操作和可访问的资源限制在其允许的权限范围之内?如何记录用户行为,让相应的操作都有据可查?这些都是应用的安全机制或者安全框架需要考虑的典型问题,它们分别对应着三个安全行为:认证(Authentication).授权(Authorization)和审核(Auditing). 除了这些典型的安全问题,对于一个以消息作为通信手段的分布式应用,还需要考虑消息的保护(Message Protec

PureMVC(AS3)剖析:设计模式(二)

PureMVC(AS3)剖析:设计模式(二) 模式 上一篇中介绍了PureMVC中使用的3种设计模式:单例模式.观察者模式.外观模式.本篇将继续介绍剩下的3种设计模式: l  使用中介者(Mediator)模式来封装UI与系统中其他对象的交互,使得各对象不需要显示地互相引用,从而使得其耦合松散,而且可以独立地改变它们之间的交互: l  使用代理(Proxy)模式为数据对象提供代理以控制数据对象的访问,PureMVC中Proxy负责操作数据模型,与远程服务信存取数据: l  使用命令(Comman

Masonry自动布局详解五:比例(multipliedBy)

Masonry自动布局详解五:比例(multipliedBy) 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万大量代码的冗余,对维护和开发的效率都很低. 笔者在这里介绍纯代码自动布局的第三方库:Masonry.这个库使用率相当高,在全世界都有大量的开发者在使用,其star数量也是相当高的. 支持原创,请阅读原文 效果图 本节详解Masonry的以动画

PureMVC(AS3)剖析:设计模式(一)

PureMVC(AS3)剖析:设计模式(一) 模式 PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model.View和Controller.降低模块间的耦合性,各模块如何结合在一起工作对于创建易扩展,易维护的应用程序是非常重要的.PureMVC框架使用多重设计模式来实现解耦彻底.灵活性. l  单例(singleton)模式保证一个类仅有一个实例,并提供一个访问它的全局访问点.在PureMVC实现的经典MVC元设计模式中,这三部分由三个单例类管理,分别是Model .View和Co

《树莓派实战秘籍》——2.7 技巧27尝试Occidentalis:为(高级)教育目的的树莓派发行版

2.7 技巧27尝试Occidentalis:为(高级)教育目的的树莓派发行版 如果你有兴趣使用Pi做硬件黑客教育(或学习!),Adafruit的树莓派教育型Linux发行版(又名Occidentalis)会是一个伟大的开始! Raspbian是专门为树莓派设计的首批Linux发行版之一,这个发行版基于Debian 7.0,其绰号为"Wheezy",因而相应的树莓派版本用混成词"Raspbian Wheezy"来命名.不过网上电子商店Adafruit1发现Raspb

Silverlight &amp;amp; Blend动画设计系列九:动画(Animation)与视图状态管理

Silverlight中的动画(Animation)与视图状态管理(Visual State Manager) 结合使用 是非常常见的,动画用于管理对象在某段事件段内执行的动画动作,视图状态管理则用于控 制对象在多个不同的视觉状态之间切换.导航.本篇主要介绍动画(Animation)与视图状态 管理(Visual State Manager)的结合应用,关于视图状态管理的详细内容请大家查看相关资 料. 举一个简单的示例,比如在开发一个项目中有一个按钮,当我点击这个按钮的时候就动态 的从某个方向(

建立邮件服务器:概述(2)

服务器|邮件服务器 邮件系统要能够识别各种不同格式的地址(收信人和发信人的).最常见的格式是UUCP格式和域名格式.UUCP格式的地址(带感叹号)清楚的列出了从收信人到发信人的路径,例如地址"bill!bird!keyanbu.com!paul"说明这封新药经过bill,经过bird,然后经过keyanbu.com,最后到达收信人paul手中.而域名格式(例如zzy@keyanbu.com)则通过专门的地址解析系统找出从收信人到发信人的路径.尽管这两种格式是最常见的,但是其他地址系统也

Silverlight &amp;amp; Blend动画设计系列七:模糊效果(BlurEffect)与阴影效果

模糊效果(BlurEffect)与阴影效果(DropShadowEffect)是两个非常实用和常用的两个 特效,比如在开发相册中,可以对照片的缩略图添加模糊效果,在放大照片的过程中动态改 变照片的大小和模糊的透明度来达到一个放大透明的效果. 一.模糊效果(BlurEffect) Silverlight中的每个对象都是支持添加模糊和阴影效果的, 在Blend工具中通过"外观 "面板可以直接可视化的进行设计完成模糊和阴影效果的添加,以及效果参数的调整.如下 图为模糊效果的设计界面: 点击&