加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

uestc oj 1796 Flash Mob

发布时间:2020-12-15 18:14:21 所属栏目:百科 来源:网络整理
导读:这个题目大概意图就是给定一些点的坐标,寻找到一个点到其他所有点的距离是最小的,路径只能是横或者是竖的, 题目的关键在于想到最经的点必然是是在所有点的中间,则可以有两种思路解决这个问题,一种十分偷懒的方式就是 寻找所有点x坐标和的从大到 #includ

这个题目大概意图就是给定一些点的坐标,寻找到一个点到其他所有点的距离是最小的,路径只能是横或者是竖的,

题目的关键在于想到最经的点必然是是在所有点的中间,则可以有两种思路解决这个问题,一种十分偷懒的方式就是

寻找所有点x坐标和的从大到

#include<cstdio>  
#include<algorithm>  
#include<cmath>  
#define LL long long  
using namespace std;  
const int INF=0x7fffffff;  
const int N=1005;  
int x[N],y[N];  
int main()  
{  
    //freopen("data.in","r",stdin);  
    int n;  
    int ca=1;  
    while(true)  
    {  
        scanf("%d",&n);  
        if(!n) break;  
        for(int i=0;i<n;++i)  
        scanf("%d %d",&x[i],&y[i]);  
        sort(x,x+n);  
        sort(y,y+n);  
        int sum=0;  
        int X=x[(n-1)/2];  
        int Y=y[(n-1)/2];  
        for(int i=0;i<n;++i)  
        sum+=(abs(x[i]-X)+abs(y[i]-Y));  
        printf("Case %d: (%d,%d) %dn",ca++,X,Y,sum);  
    }  
    return 0;  
}     
?另一种十分复杂的方法就是遍历暴搜

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读