时间:1s 空间:32M
题目描述:
1000 * 1000的网格上有n个大炮,大炮只会斜着45度开炮,方向不定。问你有多少对的大炮可以互相攻击到。
输入格式:
第一行输入一个整数n
接下来n行每行输入两个整数xi,yi,表示大炮的坐标
备注:同一个坐标可能有多个大炮
输出格式:
输出一个整数
样例输入:
5
1 1
1 5
3 3
5 1
5 5
样例输出:
6
约定:
1<=n<=200000,1<=xi,yi<=1000
错误代码:
#include<bits/stdc++.h>
using namespace std;
int cnt, x[100001], y[100001], n, i, j;
int main() {
cin >> n;
for (i = 1; i <= n; i++) {
cin >> x[i] >> y[i];
for (j = 1; j <= n; j++) {
if (x[i] == x[j] || y[i] == y[j]) {
cnt++;
}
}
}
cout << cnt << endl;
return 0;
}