제출 #879914

#제출 시각아이디문제언어결과실행 시간메모리
879914dubabubaStar triangles (IZhO11_triangle)C++14
100 / 100
444 ms18456 KiB
#include <bits/stdc++.h>
using namespace std;

typedef vector<int> vi;
typedef pair<int, int> pii;
#define ff first
#define ss second

const int mxn = 3e5 + 10;
int n, id[mxn], s = 1;
map<int, int> mp;
vector<vi> x;
vector<vi> y;
pii p[mxn];

int main() {
	cin >> n;
	for(int i = 1; i <= n; i++) {
		cin >> p[i].ff >> p[i].ss;
		id[i] = i;

		mp[p[i].ff];
		mp[p[i].ss];
	}

	for(auto &t : mp) {
		t.ss = s;
		s++;
	}

	x.resize(s);
	y.resize(s);

	for(int i = 1; i <= n; i++) {
		p[i].ff = mp[p[i].ff];
		p[i].ss = mp[p[i].ss];
		x[p[i].ff].push_back(i);
		y[p[i].ss].push_back(i);
	}

	int ans = 0;
	for(int i = 1; i <= n; i++) {
		int X = p[i].ff, Y = p[i].ss;
		int chx = x[X].size() - 1;
		int chy = y[Y].size() - 1;
		ans += chx * chy;
	}

	cout << ans << '\n';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...