记录编号 |
24606 |
评测结果 |
AAAAAAAAAA |
题目名称 |
拯救奶牛贝希 |
最终得分 |
100 |
用户昵称 |
Pom |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.035 s |
提交时间 |
2011-04-12 19:35:59 |
内存使用 |
0.26 MiB |
显示代码纯文本
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
const int oo=1000000000;
int x,y,a,b,i,j,k,t,n,m,ansh,ansl,anst=oo,X,Y,t1,t2,I,J,hang;
int main()
{
freopen("rescuea.in","r",stdin);
freopen("rescuea.out","w",stdout);
scanf("%d%d",&n,&m);
scanf("%d%d",&X,&Y);
while (m--)
{
x=X;
y=Y;
scanf("%d%d",&I,&J);
i=I;
j=J;
if (i<x)
{
swap(x,i);
swap(y,j);
}
t=0;
if (y%2==0)
{
--x; --y; --t;
}
hang=i-x+1;
int l,r,ty;
ty=i-x+y;
l=ty-(2*hang-1)/2;
r=ty+(2*hang-1)/2;
if (j>=l && j<=r)
{
t+=hang*2-2;
if (j%2==0) --t;
}
else
{
if (j>r) t+=j-r+hang*2-2;
else t+=l-j+hang*2-2;
}
if (t<anst)
{
anst=t;
ansh=I;
ansl=J;
}
else
if (t==anst && I<ansh)
{
ansh=I;
ansl=J;
}
else
if (t==anst && I==ansh && J<ansl)
{
ansl=J;
}
}
printf("%d %d\n%d\n",ansh,ansl,anst+1);
return 0;
}