规律题
来源:互联网 发布:中昌数据资产 编辑:程序博客网 时间:2024/04/20 08:51
Description
Today, Wet Shark is given n bishops on a 1000 by 1000 grid. Both rows and columns of the grid are numbered from 1 to 1000. Rows are numbered from top to bottom, while columns are numbered from left to right.
Wet Shark thinks that two bishops attack each other if they share the same diagonal. Note, that this is the only criteria, so two bishops may attack each other (according to Wet Shark) even if there is another bishop located between them. Now Wet Shark wants to count the number of pairs of bishops that attack each other.
Input
The first line of the input contains n (1 ≤ n ≤ 200 000) — the number of bishops.
Each of next n lines contains two space separated integers xi and yi (1 ≤ xi, yi ≤ 1000) — the number of row and the number of column where i-th bishop is positioned. It's guaranteed that no two bishops share the same position.
Output
Output one integer — the number of pairs of bishops which attack each other.
Sample Input
51 11 53 35 15 5
6
31 12 33 5
0
Hint
In the first sample following pairs of bishops attack each other: (1, 3), (1, 5), (2, 3), (2, 4), (3, 4) and (3, 5). Pairs (1, 2), (1, 4),(2, 5) and (4, 5) do not attack each other because they do not share the same diagonal.
找出规律,发现主对角线的点满足i+j相同,副对角线的点满足i-j相同,然后根据等差数列求和即可
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cmath>int main(){int n,i,j,a,b;int ans=0;int x[2000],y[2000];memset(x,0,sizeof(x));memset(y,0,sizeof(y));scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&a,&b);x[a+b-2]++;y[a-b+999]++;}for(i=1;i<1998;i++){if(x[i]){ans+=(x[i]*(x[i]-1))/2;}if(y[i]){ans+=(y[i]*(y[i]-1))/2;}}printf("%d\n",ans);return 0;}
- 【规律题】
- 规律题
- 规律题
- SOJ2506 规律题
- HDU 2582 规律题
- 蟠桃记 + 规律题
- HDU1005.规律题
- hdu1005(找规律题)
- hdu 1792规律题
- hdu 4925规律题
- 数学+找规律题
- Hduoj2709【规律题】
- CSU 规律题
- lightOJ 1005 【规律题】
- hdu 5524 规律题
- Shopping(规律题)
- VJ 【规律题】
- VJ【规律题】
- drools学习3--积分计算例子
- Java的基础知识8——图形
- 图层——水滴效果——叶
- 文章标题
- 数据库视频全局总结
- 规律题
- 微信授权登陆接入第三方App(步骤总结)Android。
- js(javaScript)学习系列--window
- 【数学建模】灰色预测GM(1,1)代码
- Java 设计模式之备忘录模式的详解(行为模式)
- TreeSet
- 骂百度的人为何那么多
- redis创建集群失败——can't connect to node 192.168.*.*
- 事务和锁