CF1194E.Count The Rectangles
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n segments drawn on a plane; the i-th segment connects two points (xi,1, yi,1) and (xi,2, yi,2). Each segment is non-degenerate, and is either horizontal or vertical — formally, for every i∈[1,n] either xi,1=xi,2 or yi,1=yi,2 (but only one of these conditions holds). Only segments of different types may intersect: no pair of horizontal segments shares any common points, and no pair of vertical segments shares any common points.
We say that four segments having indices h1, h2, v1 and v2 such that h1<h2 and v1<v2 form a rectangle if the following conditions hold:
- segments h1 and h2 are horizontal;
- segments v1 and v2 are vertical;
- segment h1 intersects with segment v1;
- segment h2 intersects with segment v1;
- segment h1 intersects with segment v2;
- segment h2 intersects with segment v2.
Please calculate the number of ways to choose four segments so they form a rectangle. Note that the conditions h1<h2 and v1<v2 should hold.
平面上画有 n 条线段;其中第 i 条线段连接两点 (xi,1,yi,1) 和 (xi,2,yi,2)。每条线段均为非退化线段,且要么是水平的,要么是垂直的——形式化地说,对每个 i∈[1,n],要么 xi,1=xi,2,要么 yi,1=yi,2(但二者中仅有一个成立)。只有不同方向的线段才可能相交:任意两条水平线段不共享任何公共点,任意两条垂直线段也不共享任何公共点。
我们称下标为 h1、h2、v1 和 v2 的四条线段(满足 h1<h2 且 v1<v2)构成一个矩形,当且仅当满足以下条件:
- 线段 h1 和 h2 均为水平线段;
- 线段 v1 和 v2 均为垂直线段;
- 线段 h1 与线段 v1 相交;
- 线段 h2 与线段 v1 相交;
- 线段 h1 与线段 v2 相交;
- 线段 h2 与线段 v2 相交。
请计算选择四条线段使其构成矩形的方案数。注意,必须满足 h1<h2 且 v1<v2。
输入格式
The first line contains one integer n (1≤n≤5000) — the number of segments.
Then n lines follow. The i-th line contains four integers xi,1, yi,1, xi,2 and yi,2 denoting the endpoints of the i-th segment. All coordinates of the endpoints are in the range [−5000,5000].
It is guaranteed that each segment is non-degenerate and is either horizontal or vertical. Furthermore, if two segments share a common point, one of these segments is horizontal, and another one is vertical.
第一行包含一个整数 n(1≤n≤5000)—— 表示线段的数量。
接下来是 n 行。第 i 行包含四个整数 xi,1、yi,1、xi,2 和 yi,2,表示第 i 条线段的两个端点坐标。所有端点坐标的取值范围均为 [−5000,5000]。
保证每条线段均为非退化线段,且要么为水平线段,要么为垂直线段。此外,若两条线段存在公共点,则其中一条必为水平线段,另一条必为垂直线段。
输出格式
Print one integer — the number of ways to choose four segments so they form a rectangle.
输出一个整数——表示选择四条线段使其构成矩形的方案数。
输入输出样例
输入#1
7 -1 4 -1 -2 6 -1 -2 -1 -2 3 6 3 2 -2 2 4 4 -1 4 3 5 3 5 1 5 2 1 2
输出#1
7
输入#2
5 1 5 1 0 0 1 5 1 5 4 0 4 4 2 4 0 4 3 4 5
输出#2
0
说明/提示
The following pictures represent sample cases:


以下图片表示样例:


输入解题思路,AI测评打分。不知道怎么写?