放养奶牛

成绩 0 开启时间 2013年01月21日 星期一 14:50
折扣 0.8 折扣时间 2013年01月21日 星期一 14:50
允许迟交 关闭时间 2013年01月21日 星期一 14:50
输入文件 cowties.in 输出文件 cowties.out

【问题描述】
有 N (3<=N<=100) 头奶牛一起在一块草坪上吃草,这样呢它们就不会走丢了 ^_^. 农夫 John 把他们从 1 到 N 编号,并且想把他们拴成一个圈,使得编号为 i 的奶牛与编号为 i-1 和 i+1 的奶牛分别相邻。注意编号为 1 的奶牛要和编号为 N 的奶牛拴在一起。

每头奶牛都有几个自己喜欢的吃草的地方,只有它们站在自己喜欢的地方吃草才会感到高兴。农夫 John 在放养奶牛的时候必须让它们都高兴,你能帮他计算出此时圈养这 N 头奶牛所用绳子的最短长度 L 吗?注意这个圈的各个部分可以相交。

【输入格式】
* 第 1 行:一个整数 N

* 接来有 N 行,这 N 行中的第 i 行用一些整数来描述编号为 i 的奶牛的信息。这一行的第一个数是 S (1<=S<=40) , S 表示编号为 i 的奶牛一共有 S 个喜欢吃草的地方。接下来有 2*S 个整数分别表示这 S 个地方的坐标 (x,y), 其中 -100<=x,y<=100

【输出格式】
   * 输出仅一行,为所用绳子的最短长度 L 乘以 100 后的整数部分。

【输入输出样例】
 
cowties.in
4
1 0 0
2 1 0 2 0
3 -1 -1 1 1 2 2
2 0 1 0 2

cowties.out
400

【输入输出样例说明】

编号为 1 的奶牛站在(0,0);编号为 2 的奶牛站在(1,0);编号为 3 的奶牛站在(1,1);编号为 4 的奶牛站在(0,1)。此时把 4 头奶牛圈起来所用的绳长最短,为 4 。