#P2284. That Nice Euler Circuit
That Nice Euler Circuit
题目描述
小 Joey 发明了一台名为“欧拉”的拼字机,取名自伟大的数学家欧拉。在小学时,Joey 听说了欧拉开创图论研究的有趣故事。故事中的问题是(让我提醒你):在纸上绘制一个图,笔不离开纸面,最后回到起点。欧拉证明了,当且仅当(平面)图满足以下两个条件时,才能完成绘制:(1) 图是连通的;(2) 图中每个顶点的度数均为偶数。
Joey 的欧拉机器的工作原理与此完全相同。该设备包含一支接触纸面的铅笔和一个发出指令序列的控制中心。纸面可视为无限二维平面,因此无需担心铅笔会超出边界。
初始时,欧拉机器会发出形如的指令,将铅笔移动到起始位置。后续每个指令也形如,表示将铅笔从先前位置移动到新位置,从而在纸上绘制一条线段。确保每个新位置与前一位置不同。最后,欧拉机器总会发出将铅笔移回起始位置的指令。此外,机器绝不会绘制与已画线段重叠的线段,但线段可能相交。
所有指令执行完毕后,Joey 的纸上会形成一幅图。由于铅笔从未离开纸面,该图可视为一条欧拉回路。
你的任务是计算这些线段在纸上形成的区域(连通区域)数量。
输入格式
- 测试用例不超过25个,每个用例以整数开头,表示指令数量。
- 接下来的对整数为指令,在一行中以空格分隔。第一对是起始位置的坐标。
- 每个用例的指令数不超过300,所有整数坐标范围为。输入以结束。
输出格式
- 对每个用例,输出一行,格式为
Case x: There are w pieces.
其中是从1开始的序号,是区域数量。
输入样例 1
5
0 0 0 1 1 1 1 0 0 0
7
1 1 1 5 2 1 2 5 5 1 3 5 1 1
输出样例 1
Case 1: There are 2 pieces.
Case 2: There are 5 pieces.
来源
上海2004年相关问题