首页 > 试题广场 >

则上述程序输出为( )

[单选题]
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
scanf("%d", &n);
map <int, int> xs;
map <int, int> ys;
map < pair <int, int>, int > zs;
long long ans = 0;
for (int i = 0; i < n; i++) {
int x, y;
scanf("%d %d", &x, &y);
ans += (xs[x]++);
ans += (ys[y]++);
ans -= (zs[make_pair(x, y)]++);
}
cout << ans << endl;
return 0;
}

输入:
6
0 0
0 1
0 2
-1 1
0 1
1 1
则上述程序输出为( )
  • 9
  • 10
  • 11
  • 12

所有的过程为

+0 +0 -0

+1 +0 -0

+2 +0 -0

+0 +1 -0

+3 +2 -1

+0 +3 -0

发表于 2019-09-20 10:09:19 回复(0)
不懂(=_=)
发表于 2019-09-19 15:10:05 回复(0)