Đăng nhập để hỏi chi tiết


bài này AC sao vậy mọi ng mình làm được có 95% test
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<pair<int,int>> a(n);
for(int i=0;i<n;i++) cin>>a[i].first>>a[i].second;
int ans = 0;
sort(a.begin(), a.end(), [](auto &u, auto &v){
return u.first < v.first;
});
for(int i=0;i<n;){
int j=i;
while(j<n && a[j].first==a[i].first) j++;
int k=j-i;
ans += k*(k-1)/2;
i=j;
}
sort(a.begin(), a.end(), [](auto &u, auto &v){
return u.second < v.second;
});
for(int i=0;i<n;){
int j=i;
while(j<n && a[j].second==a[i].second) j++;
int k=j-i;
ans += k*(k-1)/2;
i=j;
}
sort(a.begin(), a.end());
for(int i=0;i<n;){
int j=i;
while(j<n && a[j]==a[i]) j++;
int k=j-i;
ans -= k*(k-1)/2;
i=j;
}
cout<<ans;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin