SP405 TCUTTER - Tin Cutter

题目描述

在某家工厂中,有一台用于切割锡板的机器,能用锋利的刀具沿水平或垂直方向割出线段。切割过程由多条这样的线段组成。每条线段的切割通过两个端点来定义,这些端点都位于锡板内部。在切割过程中,锡板的部分区域可能会掉落,从而形成孔洞。 工厂需要预测,在执行完所有给定的切割操作后,锡板上会形成多少个孔洞。请编写一个程序来解决这个问题。注意,单独的一条线段切割不被视为孔洞。 以下是一些可能出现的切割结果示例: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/SP405/5fe232b38afbf4d1f7a13da354ea0d8e1e3950a9.png) 两个孔洞 两个孔洞 一个孔洞 一个孔洞

输入格式

输入由若干个块组成。每个块(除了最后一个)描述一次切割操作。块的第一行是一个整数 $N$,表示此次切割中涉及的线段数目。接下来的 $N$ 行,每行为一条线段,格式为 $x_1 \ y_1 \ x_2 \ y_2$,表示线段的两个端点 $(x_1, y_1)$ 和 $(x_2, y_2)$。这些坐标是整数并且仅有水平或垂直的线段(即线段与 $x$ 轴或 $y$ 轴平行)。 最后一个块只有一行,包含数字 $0$。

输出格式

对于输入中的每个切割块,输出一行,表示完成对应的切割操作后锡板上形成的孔洞数量。最后一个“空”块不需要输出结果。

说明/提示

- $1 \le N \le 1000$ - $-10^6 \le x_1, y_1, x_2, y_2 \le 10^6$ **本翻译由 AI 自动生成**