比赛 NOIP模拟赛by mzx Day1 评测结果 TTTTTTTTTT
题目名称 为爱追寻 最终得分 0
用户昵称 chad 运行时间 10.007 s
代码语言 C++ 内存使用 31.18 MiB
提交时间 2016-10-19 21:33:20
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<string>
#include<algorithm>
#include<ctime>
#include<cmath>
using namespace std;
#define FILE "loverfinding"
#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[4000000],hy[4000000],step=7,mod=3999777;
	bool vis[4000000];
	bool hash(int x,int y){
		int pos=abs((LL)x%mod*y%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;
}