A2058 | 矩形
来源省选 / 2010
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
现在我们在一个平面上画了n个矩形。每一个矩形的两边都与坐标轴相平行,且矩形定点的坐标均为整数。现我们定义满足如下性质的图形为一个块:
1.每一个矩形都是一个块;
2.如果两个块有一段公共的部分,那么这两个块就会形成一个新的块,否则这两个块就是不同的。
示例:
图1中的矩形形成了两个不同的块。图2中的矩形形成了一个块。

任务:
请写一个程序:
1.从文本文件PRO.IN中读入各个矩形的顶点坐标;
2.找出这些矩形中不同的块的数目;
3.把结果输出到文本文件PRO.OUT中。
1.每一个矩形都是一个块;
2.如果两个块有一段公共的部分,那么这两个块就会形成一个新的块,否则这两个块就是不同的。
示例:
图1中的矩形形成了两个不同的块。图2中的矩形形成了一个块。

任务:
请写一个程序:
1.从文本文件PRO.IN中读入各个矩形的顶点坐标;
2.找出这些矩形中不同的块的数目;
3.把结果输出到文本文件PRO.OUT中。
输入格式
文本文件PRO.IN的第一行包括一个整数n,1 n 7000,为矩形的数目。以下的n行为矩形顶点的坐标。每一个矩形都是用四个整数来描述的:左下角的x坐标、左下角的y坐标、右上角的x坐标和右上角的y坐标。所有的坐标都是不大于10000的非负整数。
输出格式
在文本文件PRO.OUT中输出唯一的一个整数——这些矩形所形成的不同的块的数目。
输入输出样例
输入 #1
9 0 3 2 6 4 5 5 7 4 2 6 4 2 0 3 2 5 3 6 4 3 2 5 3 1 4 4 7 0 0 1 4 0 0 4 1
输出 #1
2
在文本文件PRO.OUT中输出唯一的一个整数——这些矩形所形成的不同的块的数目。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?