Codeforces Round #341 (Div. 2)B. Wet Shark and Bishops

原创 2016年05月30日 23:01:09

思路:求对角线相同的对数,显然可以由第一个样例得知,同一个对角线的要么x+y相同,要么x-y相同,那么随便记录一下,每一个的贡献是cnt[i]*(cnt[i]-1)/2


#include<bits\stdc++.h>
using namespace std;
int cnt1[10005];
int cnt2[10005];
int main()
{
    int n;
    int ans = 0;
	cin >>n;
	for(int i = 1;i<=n;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		cnt1[x+y]++;
		cnt2[x-y+1000]++;
	}
	for(int i = 0;i<=2005;i++)
	{
		ans+=cnt1[i]*(cnt1[i]-1)/2;
		ans+=cnt2[i]*(cnt2[i]-1)/2;
	}
	cout << ans << endl;
}


B. Wet Shark and Bishops
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

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.

Examples
input
5
1 1
1 5
3 3
5 1
5 5
output
6
input
3
1 1
2 3
3 5
output
0
Note

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.



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Codeforces Round #341 (Div. 2) CF621B. Wet Shark and Bishops(排列组合+对角线规律)

B. Wet Shark and Bishops time limit per test2 seconds memory limit per test256 megabytes inputsta...

Codeforces Round #341 (Div. 2) --B. Wet Shark and Bishops

B. Wet Shark and Bishops time limit per test 2 seconds memory limit per test 256 megabytes inp...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Codeforces Round #341 (Div. 2)-B. Wet Shark and Bishops(暴搜+组合)

B. Wet Shark and Bishops time limit per test 2 seconds memory limit per test 256 megabyt...

Codeforces #341div2 B.Wet Shark and Bishops(暴力)

题目链接: http://codeforces.com/contest/621/problem/B 题目大意: 给n个点,如果两个点在同一条对角线上面,那么他们就会相互攻击,现在问总共会有多...

Codeforces Round #341 (Div. 2) problemE Wet Shark and Blocks 矩阵乘法 dp

Codeforces Round #341 (Div. 2) problemE Wet Shark and Blocks 题目大意:有b(b<=10^9)个相同的数组,每个数组里有n(n<=5000...

Codeforces Round #341 (Div. 2) C. Wet Shark and Flowers(期望)

题意: 给定N≤105个人围成一个圈,每个人有一个数据范围[li,ri]给定N\le 10^5个人围成一个圈, 每个人有一个数据范围[l_i,r_i] 每个人选定一个数s,若相邻的si∗sj...
  • lwt36
  • lwt36
  • 2016-02-01 14:35
  • 206

Codeforces Round #341 (Div. 2)--C. Wet Shark and Flowers

C. Wet Shark and Flowers time limit per test 2 seconds memory limit per test 256 megabytes inp...

Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks

There are b blocks of digits. Each one consisting of the same n digits, which are given to you in t...

Codeforces Round #341 (Div. 2)-C. Wet Shark and Flowers(区间概率)

C. Wet Shark and Flowers time limit per test 2 seconds memory limit per test 256 megabyt...

Codeforces Round #341 (Div. 2) C. Wet Shark and Flowers(简单容斥)

题目链接:点击打开链接 题意:有n个人围坐成一圈,每个人可以从a[i].l 到 a[i].r里选一个数,如果相邻两个数的乘积能整除p,那么就奖励他们一人1000,求所得钱的总和的期望。 思路:既然...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)