CF1194E.Count The Rectangles

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn segments drawn on a plane; the ii-th segment connects two points (xi,1x_{i, 1}, yi,1y_{i, 1}) and (xi,2x_{i, 2}, yi,2y_{i, 2}). Each segment is non-degenerate, and is either horizontal or vertical — formally, for every i∈[1,n]i \in [1, n] either xi,1=xi,2x_{i, 1} = x_{i, 2} or yi,1=yi,2y_{i, 1} = y_{i, 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 h1h_1, h2h_2, v1v_1 and v2v_2 such that h1<h2h_1 \lt h_2 and v1<v2v_1 \lt v_2 form a rectangle if the following conditions hold:

  • segments h1h_1 and h2h_2 are horizontal;
  • segments v1v_1 and v2v_2 are vertical;
  • segment h1h_1 intersects with segment v1v_1;
  • segment h2h_2 intersects with segment v1v_1;
  • segment h1h_1 intersects with segment v2v_2;
  • segment h2h_2 intersects with segment v2v_2.

Please calculate the number of ways to choose four segments so they form a rectangle. Note that the conditions h1<h2h_1 \lt h_2 and v1<v2v_1 \lt v_2 should hold.

平面上画有 nn 条线段;其中第 ii 条线段连接两点 (xi,1,yi,1)(x_{i, 1}, y_{i, 1}) 和 (xi,2,yi,2)(x_{i, 2}, y_{i, 2})。每条线段均为非退化线段,且要么是水平的,要么是垂直的——形式化地说,对每个 i∈[1,n]i \in [1, n],要么 xi,1=xi,2x_{i, 1} = x_{i, 2},要么 yi,1=yi,2y_{i, 1} = y_{i, 2}(但二者中仅有一个成立)。只有不同方向的线段才可能相交:任意两条水平线段不共享任何公共点,任意两条垂直线段也不共享任何公共点。

我们称下标为 h1h_1、h2h_2、v1v_1 和 v2v_2 的四条线段(满足 h1<h2h_1 < h_2 且 v1<v2v_1 < v_2)构成一个矩形,当且仅当满足以下条件:

  • 线段 h1h_1 和 h2h_2 均为水平线段;
  • 线段 v1v_1 和 v2v_2 均为垂直线段;
  • 线段 h1h_1 与线段 v1v_1 相交;
  • 线段 h2h_2 与线段 v1v_1 相交;
  • 线段 h1h_1 与线段 v2v_2 相交;
  • 线段 h2h_2 与线段 v2v_2 相交。

请计算选择四条线段使其构成矩形的方案数。注意,必须满足 h1<h2h_1 < h_2 且 v1<v2v_1 < v_2。

输入格式

The first line contains one integer nn (1≤n≤50001 \le n \le 5000) — the number of segments.

Then nn lines follow. The ii-th line contains four integers xi,1x_{i, 1}, yi,1y_{i, 1}, xi,2x_{i, 2} and yi,2y_{i, 2} denoting the endpoints of the ii-th segment. All coordinates of the endpoints are in the range [−5000,5000][-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.

第一行包含一个整数 nn(1≤n≤50001 \le n \le 5000)—— 表示线段的数量。

接下来是 nn 行。第 ii 行包含四个整数 xi,1x_{i, 1}、yi,1y_{i, 1}、xi,2x_{i, 2} 和 yi,2y_{i, 2},表示第 ii 条线段的两个端点坐标。所有端点坐标的取值范围均为 [−5000,5000][-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测评打分。不知道怎么写?

首页