Submission #312227

#TimeUsernameProblemLanguageResultExecution timeMemory
312227vivaan_guptaStar triangles (IZhO11_triangle)C++14
100 / 100
551 ms9320 KiB
#include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstring>
#include <chrono>
#include <complex>
#define endl "\n"
#define ll long long int
#define vi vector<int>
#define vll vector<ll>
#define vvi vector < vi >
#define pii pair<int,int>
#define pll pair<long long, long long>
#define mod 1000000007
#define inf 1000000000000000001;
#define all(c) c.begin(),c.end()
#define mp(x,y) make_pair(x,y)
#define mem(a,val) memset(a,val,sizeof(a))
#define pb push_back
#define f first
#define s second
#define pi 3.141592653589793238
using namespace std;

ll gcd( ll a, ll b )
{
	if(b==0)
	{
		return a;
	}
	else
	{
		return gcd( b, a%b );
	}
}
ll lcm (ll a, ll b)
{
	return (a*b)/gcd(a,b);
}

ll power(ll a, ll b)	//a is base, b is exponent
{
	if(b==0)
		return 1;
	if(b==1)
		return a;
	if(b%2 == 1)
		return (power(a,b-1)*a)%mod;
	ll q = power(a,b/2);
	return (q*q)%mod;
}
map<int,int> x;
map<int,int> y;
int main()
{
	std::ios::sync_with_stdio(false);
	int n;
	cin>>n;
	vector<pii> v;
	set<int> se;
	for(int i =1;i<=n;i++){
		int a,b;
		cin>>a>>b;
		x[a]++;
		y[b]++;
		v.pb(mp(a,b));
		se.insert(a);
	}
	int ans = 0;
	for(auto p:v){
		int lol = x[p.first]-1;
		lol *= (y[p.second]-1);
		ans+=lol;
	}
	cout<<ans<<endl;



	return 0;
}


//Hello, this is a snippet.
#Verdict Execution timeMemoryGrader output
Fetching results...