记录编号 326708 评测结果 AAAAAAAAAA
题目名称 为爱追寻 最终得分 100
用户昵称 Gravatarchad 是否通过 通过
代码语言 C++ 运行时间 6.883 s
提交时间 2016-10-21 13:19:53 内存使用 86.14 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<string>
#include<algorithm>
#include<ctime>
#include<cmath>
#include<queue>
using namespace std;
#define FILE "loverfinding"
#define pii pair<long long,long long>
#define LL long long 
#define up(i,j,n) for(int i=j;i<=n;i++)
#define down(i,n,j) for(int i=n;i>=j;i--)
#define max(x,y) ((x)>(y)?(x):(y))
#define min(x,y) ((x)<(y)?(x):(y))
#define abs(x) ((x)<0?(-(x)):(x))
template<typename T>inline bool chkmax(T &a,T b){return a<b?a=b,true : false;}
template<typename T>inline bool chkmin(T &a,T b){return a>b?a=b,true : false;}
int read(){
	int x=0;char ch=getchar();bool flag=0;
	while(ch<'0'||ch>'9'){if(ch=='-')flag=1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return flag?-x:x;
}
namespace OI{
	void print(int x){printf("%d\n",x);exit(0);}
	int n,x0,y0,xt,yt,cnt=1,nx,ny,dx,dy;
	int hx[10000000],hy[10000000],step=7,mod=9999777;
	bool vis[10000000];
	bool hash(int x,int y){
		int pos=abs((LL)(x+15214)*97%mod*y%mod*143%mod*71373)%mod;
		while(vis[pos]&&!(hx[pos]==x&&hy[pos]==y)){
			pos+=step;
			if(pos>mod)pos-=mod;
		}
		if(!vis[pos]){
			vis[pos]=1;hx[pos]=x;hy[pos]=y;return 1;
		}
		return 0;
	}
	void slove(){
		n=read(),nx=x0=read(),ny=y0=read(),xt=read(),yt=read();
		up(i,1,n){
			if(nx==xt&&ny==yt)print(cnt);
			if(hash(nx,ny))cnt++;
			dx=read(),dy=read();
			nx+=dx,ny+=dy;
		}
		printf("SingleDogMZX\n");
	}
}
int main(){
	freopen(FILE".in","r",stdin);
	freopen(FILE".out","w",stdout);
	using namespace OI;
	slove();
	return 0;
}