# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
976426 | vjudge1 | Star triangles (IZhO11_triangle) | C++98 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main() {
cin.tie(0); ios::sync_with_stdio(false);
int n;
long long ans = 0;
cin >> n;
map<int, vector<int>> adjX;
map<int, vector<int>> adjY;
for (int i = 0, xi, yi; i < n; i++) {
cin >> xi >> yi;
adjX[xi].push_back(yi);
adjY[yi].push_back(xi);
}
int numX;
for (auto &[xi, adj] : adjX) {
numX = adj.size() - 1;
for (auto &yi : adj) {
if (!adjY.contains(yi)) continue;
ans += numX * (adjY[yi].size() - 1);
}
}
cout << ans;
}