Advertisement
Hasan1026

Counting Parallelogram

Jan 24th, 2021
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define endl '\n'
  3. using namespace std;
  4. void solve();
  5. int x,t = 1;
  6. int main() {
  7.  
  8. cin >> t; x=t;
  9. while (t--) {
  10. solve();
  11. }
  12. return 0;
  13. }
  14.  
  15. void solve() {
  16. int i,j;
  17. int n; cin >> n;
  18. vector<pair <long long , long long >> p ;
  19. map < pair <long double , long double >,long long> mp;
  20. set<pair<long double,long double>> st;
  21. for(i=0;i<n;i++){
  22. int a,b;
  23. cin>>a>>b;
  24. p.push_back({a,b});
  25. }
  26. for(i=0;i<n;i++){
  27. for(j=i+1;j<n;j++){
  28. pair<long double, long double> y={(p[i].first+p[j].first)/2.0,(p[i].second+p[j].second)/2.0 };
  29. mp[y]++;
  30. st.insert(y);
  31.  
  32. }
  33. }
  34. long long sum=0;
  35.  
  36. for(auto it: st){
  37. sum += (mp[it] * (mp[it]-1))/2;
  38.  
  39. }
  40. cout<<"Case "<<x-t<<": "<<sum<<endl;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement