P3913 车的攻击
Posted tcwbob
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P3913 车的攻击相关的知识,希望对你有一定的参考价值。
题目描述
N imes NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi?行,第C_iCi? 列。求至少被一个车攻击的格子数量。
车可以攻击所有同一行或者同一列的地方。
输入格式
第1 行,2 个整数N,KN,K。
接下来K 行,每行2 个整数R_i,C_iRi?,Ci?。
输出格式
1 个整数,表示被攻击的格子数量。
输入输出样例
3 2 1 2 2 2
7
说明/提示
• 对于30% 的数据,1 le N le 10^3; 1 le K le 10^31≤N≤103;1≤K≤103;
• 对于60% 的数据,1 le N le 10^6; 1 le K le 10^61≤N≤106;1≤K≤106;
• 对于100% 的数据,1 le N le 10^9; 1 le K le 10^6; 1 le R_i , C_i le N1≤N≤109;1≤K≤106;1≤Ri?,Ci?≤N。
本次小编为大家带来洛谷P3913车的攻击 题解。
这题看这十分麻烦,一开始小编也绕晕了,用二维数组遍历枚举,后来因方法太笨(其实也有TIE的原因)放弃了,看到了一位大佬的思路才有了思路。
这题分为三步:
{
1.运用sort的排序将所有的车集合再左上角。
2.通过车载左上角后,统计出行不重复的数量s;及列不重复的数量s1.
3.利用得出的公式n*n-(n-s)*(n-s1)。算出被攻击的格子数量
}
举个大佬举过的例子:假设车的坐标在1,2与3,4.
一三,二四行的格子就被攻击了。
把被攻击的放在左上角。
没被攻击的就为(n-2)*(n-2)。
再求出没被求出的格子个数。
感谢那位大佬的思路提供,小编一定会成为你那样的大佬。
上代码!
以上是关于P3913 车的攻击的主要内容,如果未能解决你的问题,请参考以下文章
创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的载重量。 编写两个构造方法:一个没有(代码片段
11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段
按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的载重量(代码片段