洛谷 P3913 车的攻击
2024-08-28 21:40:54
题目描述
N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列。求至少被一个车攻击的格子数量。
车可以攻击所有同一行或者同一列的地方。
输入输出格式
输入格式:
第1 行,2 个整数N,KN,K。
接下来K 行,每行2 个整数R_i,C_iRi,Ci。
输出格式:
1 个整数,表示被攻击的格子数量。
输入输出样例
说明
• 对于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。
思路:见小学课本。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 1001000
using namespace std;
long long n,k,ans;
long long r[MAXN],c[MAXN];
int main(){
scanf("%lld%lld",&n,&k);
for(int i=;i<=k;i++)
scanf("%lld%lld",&r[i],&c[i]);
sort(r+,r++k);
sort(c+,c++k);
long long n1=unique(r+,r++k)-r-;
long long n2=unique(c+,c++k)-c-;
ans=n*n-(n-n1)*(n-n2);
printf("%lld",ans);
}
最新文章
- [PHP内核探索]PHP中的哈希表
- ajax乱码
- Redis应用场景
- mfc控件——list control的使用
- 关于linux内核模块Makefile的解析
- apk反编译(8)如何完全防止反编译?
- MOSS母板页制作 学习笔记(一)
- js键盘控制DIV移动
- linux中多线程解析
- 【MD5解密】免费帮大家解MD5
- KnockoutJS知识规整目录
- Python3 网络爬虫(请求库的安装)
- Laravel5使用QQ邮箱发送邮件配置
- JMeter&#160;利用Jmeter批量数据库插入数据
- less中使用calc
- 记一个视频播放器插件 video.js
- 用Python连接SQLServer抓取分析数据、监控 (pymssql)
- 图片在线处理 webp!
- Java 从业一年的心得体会
- thinkphp调试
热门文章
- Angry IP Scanner 获取设备的IP
- 巧妇能为少米之炊(1)——Android下小内存下的生存之道
- C# - Thread.Join()
- 远程登录工具 —— filezilla(FTP vs. SFTP)、xshell、secureCRT
- 洛谷 P2542 [AHOI2005]航线规划 树链剖分_线段树_时光倒流_离线
- webpack(构建一个前端项目)详解--升级
- 俩层判断,判断button是否可以点击
- Git 内部原理 - (5)引用规格 (6) 传输协议
- opencv3.4.1和vs2017配置
- 免费录屏软件之OBS Studio