답안 #492480

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
492480 2021-12-07T13:16:20 Z khangal 별들과 삼각형 (IZhO11_triangle) C++14
100 / 100
469 ms 16072 KB
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef long long ll;
typedef double db;
typedef vector<long long> vl;
typedef pair<long long, long long > pl;
const int N = 1e6 + 1;
#define po pop_back
#define pb push_back
#define mk make_pair
#define lw lower_bound
#define up upper_bound
#define ff first
#define ss second
#define boost ios_base::sync_with_stdio(); cin.tie(0); cout.tie(0);
#define MOD 1000000007
#define MAX 1e18 
#define MIN -1e18
#define per(i,a,b) for(ll i=b;i>=a;i--)
#define con continue
#define freopen freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
#define PI 3.14159265358979323846264338327950288419716939937510582097494459230781640628
// typedef tree<ll , null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;
// template< typename T>
// using indexed_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
ll n, m, ans, mid, mn, mx, cnt, sum, h1, h2, arr[3234567],arr1[1234567], sz, k, i, j, h, a, w, x, y, z,par[1234567];
bool used[1234567];
//ll dx[4]={-1,1,0,0},dy[4]={0,0,-1,1},c1[123][123];
//vector<ll> edge[1234567];
//ll jump[22][223456];
//ll lvl[1234567];
//ll bit[1234567];
//ll timer;
//ll st[1234567],endd[1234567];
//pl tr[1234567];
//ll dp[5005][5005];
ll power(ll base, ll val, ll mod) {
    ll res = 1;
    while (val) {
        if (val % 2 == 1) {
            res = res * base;
        }
        base = base * base;
        base %= mod;
        res %= mod;
        val /= 2;
    }
    return res;
}
bool comp(pl x,pl y){
    if(x.ff>y.ff)return true;
    return false;
}
ll find(ll x){
    if(x==par[x])return x;
    else return par[x]=find(par[x]);
}
class A {
public:
    static void funcA() {
        cin>>n;
        pl p[323456];
        map<ll,ll> vecx,vecy;
        for(int i=1;i<=n;i++){
            cin>>x>>y;
            vecx[x]++;
            vecy[y]++;
            p[i]={x,y};
        }
        for(int i=1;i<=n;i++){
            x=p[i].ff;
            y=p[i].ss;
            ans+=(vecx[x]-1)*(vecy[y]-1);
        }
        cout<<ans<<'\n';
    }
}lol;
void solve() {
    A::funcA();
}
int main() {
    ll T = 1;
    //cin>>T;
    boost;
    while (T--) {
        solve();
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 5324 KB Output is correct
2 Correct 2 ms 5324 KB Output is correct
3 Correct 3 ms 5324 KB Output is correct
4 Correct 2 ms 5324 KB Output is correct
5 Correct 2 ms 5324 KB Output is correct
6 Correct 3 ms 5324 KB Output is correct
7 Correct 3 ms 5324 KB Output is correct
8 Correct 3 ms 5324 KB Output is correct
9 Correct 3 ms 5344 KB Output is correct
10 Correct 3 ms 5324 KB Output is correct
11 Correct 3 ms 5324 KB Output is correct
12 Correct 13 ms 6092 KB Output is correct
13 Correct 13 ms 6092 KB Output is correct
14 Correct 18 ms 6596 KB Output is correct
15 Correct 164 ms 11396 KB Output is correct
16 Correct 200 ms 11828 KB Output is correct
17 Correct 154 ms 11416 KB Output is correct
18 Correct 155 ms 11344 KB Output is correct
19 Correct 425 ms 15356 KB Output is correct
20 Correct 301 ms 13732 KB Output is correct
21 Correct 469 ms 16072 KB Output is correct
22 Correct 450 ms 15812 KB Output is correct