比赛 20110412pm 评测结果 AAAAAAAAAA
题目名称 拯救奶牛贝希 最终得分 100
用户昵称 Pom 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-04-12 15:34:44
显示代码纯文本
#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;
}