#P11048. [蓝桥杯 2024 省 Java B] 拼十字

    ID: 10551 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 3 Uploaded By: Tags>树形数据结构树状数组2024蓝桥杯省赛

[蓝桥杯 2024 省 Java B] 拼十字

题目背景

备注:原题(Java)时间限制 3.0s,空间限制 512 MB。

题目描述

在 LQ 国神秘的古老森林,有一座被称为 “拼十字” 的神秘遗迹。据传, “拼十字” 是由古代文明建造的,它是一个巨大的石头结构,由两个巨大的矩形交叉叠放在一起,形成了一个庄严而神秘的十字形状。这个遗迹被认为是连接人类和神灵之间的通道,拥有神秘的力量和能量。

现在给出 NN 个矩形,其中第 ii 个矩形的长度和宽度分别为 lil_iwiw_i,并且矩形的颜色 cic_i 为红 (0)(0)、黄 (1)(1)、蓝 (2)(2) 中的一种。现在小蓝想知道在这 NN 个矩形中有多少对可以“拼十字”?

两个矩形可以“拼十字”的充要条件是:

  1. 两个矩形的颜色不同;
  2. 矩形 11 的长度严格大于矩形 22 的长度并且矩形 11 的宽度严格小于矩形 22 的宽度。

注意,矩形长度和宽度属性是固定的,是不可以通过旋转矩形而发生转变的。

输入格式

第一行一个整数 NN,表示有 NN 个矩形。

接下来 NN 行,每行输入三个整数 llwwcc 表示一个矩形的长、宽和颜色。

输出格式

输出一个整数表示答案。由于答案可能会很大,所以你需要将答案对 109+710^9 + 7 取模之后输出。

5
1 10 0
6 6 0
8 6 1
6 10 0
1 2 1
2

提示

【样例解释】

33 个矩形可以和第 11 个矩形拼十字,第 33 个矩形也可以和第 44 个矩形拼十字。所以一共有两对矩形可以拼十字,答案为 22

【数据范围】

  • 对于 30%30\% 的评测用例:1N50001 \leq N \leq 5000
  • 对于 100%100 \% 的评测用例:1N1051 \leq N \leq 10^51l,w1051 \leq l,w \leq 10^50c20 \leq c \leq 2