B. [USACO4.1] 篱笆回路 Fence Loops

    Type: RemoteJudge 1000ms 125MiB

[USACO4.1] 篱笆回路 Fence Loops

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

农夫布朗的牧场上的篱笆已经失去控制了。它们分成了 12001\sim 200 英尺长的线段。只有在线段的端点处才能连接两个线段,有时给定的一个端点上会有两个以上的篱笆。结果篱笆形成了一张网分割了布朗的牧场。布朗想将牧场恢复原样,出于这个考虑,他首先得知道牧场上哪一块区域的周长最小。布朗将他的每段篱笆从 11NN 进行了标号(N=N= 线段的总数)。他知道每段篱笆有如下属性:

  • 该段篱笆的长度;
  • 该段篱笆的一端所连接的另一段篱笆的标号;
  • 该段篱笆的另一端所连接的另一段篱笆的标号。

幸运的是,没有篱笆连接它自身。对于一组有关篱笆如何分割牧场的数据,写一个程序来计算出所有分割出的区域中最小的周长。

例如,标号 1101\sim 10 的篱笆由下图的形式组成(下面的数字是篱笆的标号):

           1
   +---------------+
   |\             /|
  2| \7          / |
   |  \         /  |
   +---+       /   |6
   | 8  \     /10  |
  3|     \9  /     |
   |      \ /      |
   +-------+-------+
       4       5

上图中周长最小的区域是由 2,7,82,7,8 号篱笆形成的。

输入格式

第一行一个整数 NN1N1001 \leq N \leq 100);

22 行到第 3×N+13\times N+1 行:每三行为一组,共 NN 组信息:

每组信息的第 11 行有 44 个整数:ss,这段篱笆的标号(1sN1\le s\le N);LsL_s,这段篱笆的长度(1Ls2551\le L_s\le255);N1sN1_s1N1s81\le N1_s\le 8)与本段篱笆的一端所相邻的篱笆的数量;N2sN2_s1N2s81\le N2_s\le 8)与本段篱笆的另一端所相邻的篱笆的数量。

每组信息的的第 22 行有 N1sN1_s 个整数,分别描述与本段篱笆的一端所相邻的篱笆的标号。

每组信息的的第 33 行有 N2sN2_s 个整数,分别描述与本段篱笆的另一端所相邻的篱笆的标号。

输出格式

输出的内容为单独的一行,用一个整数来表示最小的周长。

10
1 16 2 2
2 7
10 6
2 3 2 2
1 7
8 3
3 3 2 1
8 2
4
4 8 1 3
3
9 10 5
5 8 3 1
9 10 4
6
6 6 1 2 
5 
1 10
7 5 2 2 
1 2
8 9
8 4 2 2
2 3
7 9
9 5 2 3
7 8
4 5 10
10 10 2 3
1 6
4 9 5
12

提示

题目翻译来自NOCOW。

USACO Training Section 4.1。

提高作业2

Not Claimed
Status
Done
Problem
13
Open Since
2026-2-5 0:00
Deadline
2026-2-27 0:30
Extension
24 hour(s)