我是靠谱客的博主 孝顺钢笔,最近开发中收集的这篇文章主要介绍codeforce 660D Number of Parallelograms,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题意:询问多少个矩形。

统计横纵坐标差,放进vector中

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<queue>
 5 #include<stack>
 6 #include<bits/stdc++.h>
 7 using namespace std;
 8 #define LL long long
 9 int x[2010],y[2010];
10 vector<pair<int,int> >v;
11 int main(){
12     int n;
13     while(~scanf("%d",&n)){
14        for(int i=0;i<n;i++)
15         scanf("%d%d",&x[i],&y[i]);
16     
17        for(int i=0;i<n;i++){
18         for(int j=i+1;j<n;j++){
19             //cout<<"~~"<<endl;
20             int dx=x[i]-x[j];
21             int dy=y[i]-y[j];
22             if(dx<0||(dx==0&&dy<0)){
23                 dx=-dx,dy=-dy;
24             }
25             v.push_back(make_pair(dx,dy));
26         }
27        }
28        //cout<<"~~"<<endl;
29        sort(v.begin(),v.end());
30        //printf("size:%dn",v.size());
31        LL cnt=0;
32        LL ans=0;
33        for(int i=0;i<(int)v.size()-1;i++){
34            cnt++;
35            if(v[i+1]!=v[i]){
36              ans+=cnt*(cnt-1)/2;
37              cnt=0;
38            }
39         }
40         printf("%I64dn", ans/2);
41     }
42     return 0;
43 }
View Code

 

转载于:https://www.cnblogs.com/ITUPC/p/5378463.html

最后

以上就是孝顺钢笔为你收集整理的codeforce 660D Number of Parallelograms的全部内容,希望文章能够帮你解决codeforce 660D Number of Parallelograms所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部