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 ...
随机推荐
- mysql学习(四)-字段类型
mysql数据类型: 数值型: 整形:int 浮点型:float double decimal:定点型 日期: date '2012-01-02' time '10:01:01' datetime ...
- eclipse序列化生成serialVersionUID
serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersio ...
- mongodb or操作与连接池
mongodb # 类似于sql中的in或者or操作 mulites field query: db.cool.find({$or:[{field1:'val'},{'field2':'val'}-] ...
- SQL Server Service Borker 1
1.消息类型定义: 消息类型,是信息交换的模板.create message type message_type_name validattion = well_formed_xml; 2.约定定义: ...
- matlab 相关性分析
Pearson相关系数 考察两个事物(在数据里我们称之为变量)之间的相关程度,简单来说就是衡量两个数据集合是否在一条线上面.其计算公式为: 或或 N表示变量取值的个数. 相关系数r的值介于–1与+1之 ...
- (14)[Xamarin.Android] 异步的网络图片下载
原文 [Xamarin.Android] 异步的网络图片下载 在设计要从网络上接大量数据并且显示在Android Listview中,而这些资料是利用Json格式传送并且数据中包含这图片档案. 那在X ...
- openNebula images
- [置顶] PHP如何扩展和如何在linux底层对php扩展?
虽然大部分php工程师都不需要知道php的C代码核心是如何运作的,有些人可能知道有个dl()函数.或者使用过一些第三方的类库,这些正是本文的重点之一. 希望对那些想把php带向更 ...
- go-vim配置
一.环境准备: 系统环境说明: [root@docker golang]# cat /etc/redhat-release CentOS Linux release (Core) [root@dock ...
- Win8.1重装win7或win10中途无法安装
一.有的是usb识别不了,因为新的机器可能都是USB3.0的,安装盘是Usb2.0的. F12更改系统BIOS设置,我改了三个地方: 1.设置启动顺序为U盘启动 2.关闭了USB3.0 control ...