poj 3269 Building A New Barn
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int maxn=1e4+9;
int x[maxn],y[maxn];
struct D
{
int x,y;
bool operator <(const D &xx)const
{
if(x==xx.x)
return y<xx.y;
return x<xx.x;
}
}point[maxn]; int abs(int a)
{
if(a<0) return -a;
return a;
} int main()
{
// freopen("in.txt","r",stdin);
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&x[i],&y[i]);
point[i].x=x[i];
point[i].y=y[i];
}
sort(x+1,x+1+n);
sort(y+1,y+1+n);
sort(point+1,point+1+n);
int ans=0;
long long sum=0;
if(n&1||(x[n>>1]==x[n+2>>1]&&y[n>>1]==y[n+2>>1]))
{
bool flag=false;
int xx=x[n+1>>1],yy=y[n+1>>1];
for(int k=1;k<=n;k++)
if(point[k].x==xx&&point[k].y==yy)
flag=true;
if(!flag)
{
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-xx);
sum+=abs(y[i]-yy);
}
printf("%lld %d\n",sum,1);
}
else
{
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-(xx+1));
sum+=abs(y[i]-yy);
}
long long ret=sum,tmp=1;
sum=0;
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-(xx-1));
sum+=abs(y[i]-yy);
}
if(sum==ret) tmp++;
else if(sum<ret) ret=sum;
sum=0;
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-xx);
sum+=abs(y[i]-(yy+1));
}
if(sum==ret) tmp++;
else if(sum<ret) ret=sum;
sum=0;
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-xx);
sum+=abs(y[i]-(yy-1));
}
if(sum==ret) tmp++;
else if(sum<ret) ret=sum;
printf("%lld %d\n",sum,tmp);
}
}
else
{
for(int i=1;i<=n;i++)
{
sum+=abs(x[i]-x[n>>1]);
sum+=abs(y[i]-y[n>>1]);
}
int k=1;
for(int i=x[n>>1];i<=x[n+2>>1];i++)
for(int j=y[n>>1];j<=y[n+2>>1];j++)
{
for(;point[k].x<i||(point[k].x==i&&point[k].y<j);k++);
if(point[k].x!=i||point[k].y!=j) ans++;
}
printf("%lld %d\n",sum,ans);
}
return 0;
}
poj 3269 Building A New Barn的更多相关文章
- Bzoj 1696: [Usaco2007 Feb]Building A New Barn新牛舍 中位数,数学
1696: [Usaco2007 Feb]Building A New Barn新牛舍 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 394 Solve ...
- HDU 1815, POJ 2749 Building roads(2-sat)
HDU 1815, POJ 2749 Building roads pid=1815" target="_blank" style="">题目链 ...
- [USACO07FEB]新牛棚Building A New Barn
洛谷题目链接:[USACO07FEB]新牛棚Building A New Barn 题目描述 After scrimping and saving for years, Farmer John has ...
- poj 2749 Building roads (二分+拆点+2-sat)
Building roads Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6229 Accepted: 2093 De ...
- poj 3625 Building Roads
题目连接 http://poj.org/problem?id=3625 Building Roads Description Farmer John had just acquired several ...
- poj 2031 Building a Space Station【最小生成树prime】【模板题】
Building a Space Station Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5699 Accepte ...
- POJ 2031 Building a Space Station【经典最小生成树】
链接: http://poj.org/problem?id=2031 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...
- [USACO17JAN]Building a Tall Barn建谷仓
题目描述 Farmer John is building a brand new, NNN -story barn, with the help of his KKK cows ( 1≤N≤K≤101 ...
- POJ 2031 Building a Space Station
3维空间中的最小生成树....好久没碰关于图的东西了..... Building a Space Station Time Limit: 1000MS Memory Li ...
随机推荐
- C语言学习——C程序的运行机理
预处理: #include<xxx> 尖括号表示库文件:#include"xxx" 双引号表示自己写的文件. #include后面的文件格式允许多种,但若要是" ...
- 《javascript dom编程艺术》笔记(二)——美术馆示例
这几天把这本书看完了,里面大部分知识我已经会了,所以看得就略简单,好多地方都没有再去动手去做,我知道这样是不对的,以后补吧. 现在我要做的是把这本书的笔记完结掉,不然总觉得有啥事没有做. 这个版本不是 ...
- <转>eclipse如何修改dynamic web module version .
--------------------------------------------------------------------------------------------- 原 ...
- 用Servlet实现聊天室设计
实验一 Servlet编程 一.实验目的 1.熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用: 2.掌握Servlet的编写及部署: 3.掌握Servlet的工作原理和编程接 ...
- PHP判断图片是否存在和jquery中load事件对图片的处理
在公司的图片服务器中,同一个产品一般会存在对应的大图和缩略图.因此,我们在开发手机端的web网站时,默认使用的是产品图片的缩略图,查询数据库时获取的是缩略图的路径.但是,不知什么原因,时不时的,测试的 ...
- [问题解决] ubuntu server12.04 认证的问题
错误: 今天无缘无故登录不了系统ubuntu server12.04. 在登录界面输入正确密码后,黑屏一闪后又跳转到登录界面. 黑屏出现的时间太短,经过多次查看发现,卡在check battery s ...
- Android程序的入口点
原文:Android程序的入口点 android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码 ...
- 奇怪的haproxy 跳转
<pre name="code" class="html">奇怪的Haproxy 跳转: acl admin_req path_beg -i /ad ...
- [LeetCode][Python]Palindrome Number
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/palindr ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...