- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试解决以下难题。我对其中一个测试用例感到困惑。
问题是:
Byteland 的国家包含 N 个城市和它们之间的 N - 1 条双向道路,使得任意两个城市之间都有一条路径。 Byteland 的道路是很久以前修建的,现在需要维修。你被雇来修理所有的道路。您打算通过在某些道路上 dispatch 机器人来做到这一点。每个机器人将修复他当前所在的道路,然后移动到相邻的未修复道路之一。修好那条路后,他会移动到另一条相邻的未修路,修那条路,依此类推。
如果两条道路的其中一个端点位于同一城市,则两条道路相邻。为了使过程高效,没有两个机器人可以修同一条路,也没有路可以走两次。完成任务最少需要多少机器人?
输入:第一行包含测试用例的数量 T。后面是 T 个测试用例。每个测试用例的第一行包含 N,即 Byteland 中的城市数量。城市编号为 0..N - 1。接下来的 N - 1 行包含对道路的描述。第i行包含两个整数ai和bi,表示有一条路连接编号为ai和bi的城市。
输出:输出 T 行,每一行对应于包含该测试用例所需答案的每个测试用例。
约束:1 <= T <= 20
1 <= N <= 10000
0 <= ai,bi < N
下面是我感到困惑的测试用例:
1
15
0 11
1 7
1 11
2 11
2 14
3 4
4 10
4 13
4 8
5 13
6 10
7 9
8 11
11 12The correct answer is 2, but why?
最佳答案
请注意此处“相邻道路”的定义 - 您不是在寻找机器人仅通过每条道路一次的遍历。
根据定义,此图中有四个“终端道路”,6 10、5 13、2 14 和 7 9 - 它们不能位于序列的中间,因为它们只有一个相邻的道路。这是您可以使用两个机器人(从其中两个开始到另外两个结束)的第一个迹象。请注意,Byteland 几乎被分成两个子国家,只有 4 8 11 是唯一的连接道路,所以你不能让两个机器人从两半之间经过,这使得每个半部分由一个机器人修理是很自然的。
从那里开始,构建样本遍历(颜色 - 机器人,数字 - 序列)是相当微不足道的,当然有很多,因为你可以颠倒开始/结束并在两者之间打乱一些顺序
全部归功于 Graphviz和我的视觉皮层,但无论如何你都没有要求通用解决方案。
关于algorithm - 谁能解释谜题 "Repairing Roads"的测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452986/
我正在运行一个具有 1 个数据中心(6 个节点)和 Cassandra 3.11.0 的集群,复制因子为 2。我知道 nodetool repair -pr将对该节点上的主要范围进行修复。我的问题是如
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 已关闭8
我正在尝试在我的网站上使用 th:each 函数来查找数据库中的所有狗,并使用以下代码。在我的 Controller 中,我有: @Controller public class DogControl
我的 IDE 不知道我在使用 Subversion,并且每当我重命名类 (Java) 时,它都会重命名文件而不通知版本控制系统。我当然希望保留文件的历史记录。我知道在 TortoiseSVN 中有一个
考虑我当前的 Cassandra 集群如下,DC1:2 DC2:2 每个数据中心有2个节点,RF=2。现在我又添加了 2 个数据中心DC1:2、DC2:2、DC3:2、DC4:2。那么是否需要在DC3
会定期运行nodetool repair在我的 Cassandra 节点上使它们瘫痪? Planet Cassandra FAQ注意(强调), Anti-Entropy Node Repair – F
大约 4 天前我开始了一个修复表: 查询 | 351804 |排序修复 |修复表 它用完了磁盘上的所有空间: /dev/md0 9.2G 8.8G 0 100%/ 一旦我删除某些内容,空间就会很快用完
有谁知道当您在网络连接上单击“修复”时 Windows XP 会做什么?我想以编程方式或从命令行执行相同的操作。 我进行了 Google 搜索并找到了 this article ,其中有一个很好的解释
我已经执行了这个命令,现在码头不起作用了.。我怎样才能正确修理(或重新安装)码头?。我试着去做。但它并没有奏效。以下是我的错误消息:
我已经执行了这个命令,现在码头不起作用了.。我怎样才能正确修理(或重新安装)码头?。我试着去做。但它并没有奏效。以下是我的错误消息:
查询mysql表是否被损坏命令,如下: # CHECK TABLE 表名 mysql的长期使用,肯定会出现一些问题,一般情况下mysql表无法访问,就可以修复表了,优化时减少磁盘占用空间。方便备份
我正在尝试在我添加到由 850 万行组成的 MyISAM 表的新字段上添加索引。查询从“REPAIR BY SORTING”变为“REPAIR BY KEYCACHE”,这似乎是由于排序期间磁盘空间不
来自 http://docs.datastax.com/en/cassandra/2.0/cassandra/operations/ops_repair_nodes_c.html这个我知道 The n
我每天都会将数据摄入到 HDFS 中。从数据到 HDFS,我生成按日期分区的 Hive 外部表。我的问题如下,我是否应该在每次数据摄取后运行 MSCK REPAIR TABLE tablename ,
来自documentation : Using the nodetool repair -pr (–partitioner-range) option repairs only the primary
我有一个 XML 和 XSD 文件。 XML 文件是在 tomcat/ubuntu 平台上使用 Java 生成的。 它用于系统之间的集成。第二个系统正在使用 XSD 验证我的 XML,它说我的 XML
我有一个产品页面,每个产品都有一个模态,每个模态都有一个猫头鹰 slider 。 当我第一次使用某个产品时,它显示得很好,但是当我关闭该产品并打开另一个产品时,猫头鹰 slider 就损坏了。 我尝试
我正在尝试解决以下难题。我对其中一个测试用例感到困惑。 问题是: Byteland 的国家包含 N 个城市和它们之间的 N - 1 条双向道路,使得任意两个城市之间都有一条路径。 Byteland 的
我在 linux 上工作,我正在使用 pthread_rwlock,它存储在共享内存中并在多个进程之间共享。这大部分工作正常,但是当我杀死一个持有锁的进程 (SIGKILL) 时,看起来锁仍然持有(无
我在包含超过 28K 分区的配置单元表上运行 MSCK REPAIR TABLE 表名,我们将每 10 分钟接收一个分区。 当我们每 10 分钟在此表上运行一次 MSCK REPAIR TABLE 时
我是一名优秀的程序员,十分优秀!