记录编号 326712 评测结果 AAAAAAAAAA
题目名称 为爱追寻 最终得分 100
用户昵称 GravatarMarvolo 是否通过 通过
代码语言 C++ 运行时间 8.118 s
提交时间 2016-10-21 13:29:16 内存使用 229.20 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#define Key 20000001
using namespace std;

int n,x0,y0,xt,yt,ans=0;

struct Marvolo {
	int x,y;
	bool bh;
}hash[20000010];

inline int read(){
	int f=1,p=0; char c=getchar();
	while (c<'0'||c>'9')	{if (c=='-')	f=-1;	c=getchar();}
	while (c>='0'&&c<='9')	p=p*10+c-48,c=getchar();
	return f*p;
}

inline void Hash(int a,int b){
	long long t=0;
	t=(a+b+a*b)%Key;
	t=(t+a*t+b*t)%Key;
	t=(t+a*17+b*23+t*7)%Key;
	if (t<0)	t=(t+Key)%Key;
	while (hash[t].bh&&(hash[t].x!=a||hash[t].y!=b))	t=(t+1)%Key;
	if (hash[t].bh==1)	return;
	ans++;	hash[t].x=a;	hash[t].y=b;	hash[t].bh=1;
}

int main(){
	freopen("loverfinding.in","r",stdin);
	freopen("loverfinding.out","w",stdout);
	n=read();	x0=read();	y0=read();	xt=read();	yt=read();
	Hash(x0,y0);
	if (x0==xt&&y0==yt)	goto END;
	while (n--){
		x0+=read();	y0+=read();
		Hash(x0,y0);
		if (x0==xt&&y0==yt)	goto END;
	}
	printf("SingleDogMZX\n");
	return 0;
	END:
	printf("%d\n",ans);
	return 0;
}