P3913 车的攻击

这篇博客讨论了如何计算N×N棋盘上K个车能够攻击到的格子数量。每个车可以攻击其所在行或列的所有位置。给出了输入输出格式,包括棋盘大小N和车的位置(R_i, C_i),并提供了样例。解决方案提到,通过处理车所在行和列的不重复数量,可以得出被攻击的格子总数。建议使用排序或unique函数进行去重处理。" 84591093,7782628,Python解决导出Excel文件参数设置与中文乱码问题,"['Python', '数据处理', 'Excel', '文件导出']

N×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列。求至少被一个车攻击的格子数量。

车可以攻击所有同一行或者同一列的地方。

输入输出格式

输入格式:

 

第1 行,2 个整数N,KN,K。

接下来K 行,每行2 个整数R_i,C_iRi​,Ci​。

 

输出格式:

 

1 个整数,表示被攻击的格子数量。

 

输入输出样例

输入样例#1: 复制

3 2
1 2
2 2

输出样例#1: 复制

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。

 

 

将车所在的行和列看作放到方阵的一个角,只需要判断不重复的行 l 和列 r 各有多少然后结果就为 n*n-(n-l)*(n-r)

可以用sort排序去重,也可以用unique函数去重

#include <iostream>
#include <algorithm>
using namespace std;
int a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值