两种距离相等,必然是在一条竖直线上或者一条水平线上。重复的再减一下即可。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <algorithm>
#include <ctime>
#include <stack>
using namespace std;
typedef long long LL;
const int maxn=2e5+9;
const int inf=1e9+9;struct II
{LL x,y;
}num[maxn];int cmp1(II a,II b);
int cmp2(II a,II b);
int cmp3(II a,II b);int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%I64d%I64d",&num[i].x,&num[i].y);}sort(num+1,num+1+n,cmp1);LL ans=0;LL tmp=1;for(int i=2;i<=n;i++){if(num[i].x==num[i-1].x)tmp++;else{ans+=tmp*(tmp-1)/2;tmp=1;}}ans+=tmp*(tmp-1)/2;sort(num+1,num+1+n,cmp2);tmp=1;for(int i=2;i<=n;i++){if(num[i].y==num[i-1].y)tmp++;else{ans+=tmp*(tmp-1)/2;tmp=1;}}ans+=tmp*(tmp-1)/2;sort(num+1,num+1+n,cmp3);LL nn=1;for(int i=2;i<=n;i++){if(num[i].x==num[i-1].x && num[i].y==num[i-1].y)nn++;else{ans-=(nn)*(nn-1)/2;nn=1;}}ans-=(nn)*(nn-1)/2;printf("%I64d\n",ans);return 0;
}int cmp3(II a,II b)
{if(a.x==b.x)return a.y<b.y;return a.x<b.x;
}int cmp2(II a,II b)
{return a.y<b.y;
}int cmp1(II a,II b)
{return a.x<b.x;
}

转载于:https://www.cnblogs.com/zufezzt/p/5252713.html

CodeForces 650A Watchmen相关推荐

  1. mysql在linux下备份还原,Linux下MySQL的备份与还原

    Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...

  2. Codeforces数据结构(水题)小结

    最近在使用codeblock,所以就先刷一些水题上上手 使用codeblock遇到的问题 1.无法进行编译-------从setting中的编译器设置中配置编译器 2.建立cpp后无法调试------ ...

  3. CF1400:1490E、448B、1462FD、650A、1380B、1451C

    1490E. Accidental Victory(二分) 题意: 一共n个人参加比赛,每个人有一个强壮值. 每次随机挑选两人pk,赢的人获得另一人的强壮值.如果强壮值相同,随机赢. 问,最终有哪些人 ...

  4. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  5. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  8. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  9. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  10. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

最新文章

  1. 第02章_MySQL环境搭建
  2. 常考数据结构与算法:实现二叉树先序,中序和后序遍历
  3. 4.8 代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. 物料主数据(SAP屠夫)
  5. python算方差_python计算均值方差
  6. sql server 数据库改名
  7. HTML 父窗口打开子窗口,并从子窗口返回值
  8. linux多个svn仓库权限管理,svn建立仓库而且设置用户的权限
  9. NSData的同步下载与NSConnection的同步下载
  10. [LeetCode] Binary Tree Level Order Traversal
  11. Android开发项目计划书
  12. 什么是港美股窝轮(Warrants)?
  13. 如何让WebStorm正常显示出中文提示,使得中文能够正常输入,请看这里
  14. 2014 usnews 计算机科学 排名 天道留学,2014年美国USNews大学公立大学排名情况
  15. Ubuntu上安装R和rstudio-server
  16. 带你彻底击溃跳表原理及其Golang实现!(内含图解)
  17. 2018展望期许,2017个人总结
  18. Kubernetes K8S之存储PV-PVC详解
  19. 使用evo工具评估ORB_SLAM2在TUM数据集上的运行轨迹
  20. linux composer root,Composer在Windows和Linux的安装和使用

热门文章

  1. 01-编写CMS注意事项
  2. echarts常用术语
  3. CentOS hgfs中没有共享文件夹
  4. Python模块——xml
  5. 【译】ObjectBox官方文档(4)——关系
  6. C++学习笔记----2.4 C++对象的内存模型
  7. python 开源项目大全
  8. [python 译] 基于面向对象的分析和设计
  9. jumpserver跳板机docker安装小小趟坑
  10. python一切皆对象的理解