记录编号 |
327384 |
评测结果 |
AAAAAAAAAA |
题目名称 |
为爱追寻 |
最终得分 |
100 |
用户昵称 |
Rapiz |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.953 s |
提交时间 |
2016-10-21 21:48:42 |
内存使用 |
49.91 MiB |
显示代码纯文本
#include<cstdio>
#define file(x) "loverfinding."#x
typedef long long ll;
namespace IO{
char buf[1<<15],*fs,*ft;
inline char gc(){return (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft))?0:*fs++;}
inline int gint(){
int x=0,rev=0,ch=gc();
while(ch<'0'||ch>'9'){if(ch=='-')rev=1;ch=gc();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=gc();}
return rev?-x:x;
}
}using namespace IO;
struct HT{
static const ll M=1e7+3;
static const int SZ=1000100;
int nxt[SZ],sz,hed[M];
ll st[SZ];
bool in(ll x){
int hv=x%M;
for(int p=hed[hv];p;p=nxt[p]) if(st[p]==x) return false;
st[++sz]=x,nxt[sz]=hed[hv],hed[hv]=sz;
return true;
}
}s;
inline ll zip(ll a,ll b){
return (a+1e9)*1e9+b+1e9;
}
int n,x0,y0,xt,yt;
int main(){
freopen(file(in),"r",stdin);
freopen(file(out),"w",stdout);
scanf("%d%d%d%d%d",&n,&x0,&y0,&xt,&yt);
int cnt=0,dx,dy;
for(int i=1;i<=n;i++) {
cnt+=s.in(zip(x0,y0));
if(x0==xt&&y0==yt) {
printf("%d",cnt);
return 0;
}
//scanf("%d%d",&dx,&dy);
dx=gint(),dy=gint();
x0+=dx,y0+=dy;
}
printf("SingleDogMZX");
}