题目名称 711. 矩形
输入输出 recpro.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 5
题目来源 王国正 于2012-04-01加入修改该题
开放分组 全部用户
提交状态
分类标签
分享题解
通过:22, 提交:40, 通过率:55%
AntiLeaf 100 0.001 s 0.29 MiB C++
wwz 100 0.002 s 0.29 MiB C++
杨鸣宇 100 0.002 s 0.31 MiB C++
李紫临 100 0.002 s 13.66 MiB C++
Daniel 100 0.007 s 0.29 MiB C++
licai 100 0.007 s 0.29 MiB C++
Justpenz233 100 0.007 s 0.29 MiB C++
Justpenz233 100 0.009 s 0.25 MiB C++
LSY 100 0.009 s 0.29 MiB C++
xz康 100 0.017 s 0.36 MiB C++
关于 矩形 的近10条评论(全部评论)
LOSER
2016-11-03 07:43 7楼
不要puts("1")了三Q
Hzoi_Go灬Fire
2016-10-31 18:24 6楼
只有一个联通块时及时退出即可。
Magic_Sheep
2016-10-31 09:42 5楼
其实一开始让我puts("1")的时候我是拒绝的,因为不能你让我puts我就puts,但是之后我发现其实我根本不会做。
节操???= =
Justpenz233
2016-10-31 09:31 4楼
节操何在......
AntiLeaf
2016-10-31 08:20 3楼
这题卡常,需要并查集启发式合并,记得加inline ,快如闪电
二倍高分经验见234
Hzoi_Go灬Fire
2016-10-31 08:13 2楼
puts("1");return; ==AC
Hzoi_Go灬Fire
2016-10-31 08:13 1楼

711. 矩形

★★   输入文件:recpro.in   输出文件:recpro.out   简单对比
时间限制:1 s   内存限制:128 MiB

现在我们在一个平面上画了n个矩形。每一个矩形的两边都与坐标轴相平行,且矩形定点的坐标均为整数。现我们定义满足如下性质的图形为一个块:

l 每一个矩形都是一个块;

l 如果两个块有一段公共的部分,那么这两个块就会形成一个新的块,否则这两个块就是不同的。

l 示例:


图1中的矩形形成了两个不同的块。图2中的矩形形成了一个块。

任务:

请写一个程序:

l 从文本文件recpro.in中读入各个矩形的顶点坐标;

l 找出这些矩形中不同的块的数目;

l 把结果输出到文本文件recpro.out中。

输入格式(recpro.in):

文本文件recpro.in的第一行包括一个整数n,1 £ n £ 7000,为矩形的数目。以下的n行为矩形顶点的坐标。每一个矩形都是用四个整数来描述的:左下角的x坐标、左下角的y坐标、右上角的x坐标和右上角的y坐标。所有的坐标都是不大于10000的非负整数。

输出格式(recpro.out):

在文本文件recpro.out中输出唯一的一个整数——这些矩形所形成的不同的块的数目。

样例:

输入(recpro.in):

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

输出(recpro.out):

2