记录编号 326950 评测结果 AAAAAAAAAA
题目名称 为爱追寻 最终得分 100
用户昵称 Gravatardududu 是否通过 通过
代码语言 C++ 运行时间 7.391 s
提交时间 2016-10-21 17:56:44 内存使用 7.15 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

/*
第一行五个整数n,x0,y0,xt,yt,分别代表学姐移动的次数和学长桌子的坐标。
接下来n行,第i行两个整数dx,dy,代表学姐第i次移动沿与x/y轴平行的方向移动了dx/dy个单位。
如果dx/dy为负数,表示沿x/y轴的反方向移动了-dx/-dy个单位。
*/
const int KN =1000010;
int N,ans;

struct Point
{
	int x,y;
	Point(){
		x=y=0;
	}
	void read(){
		scanf("%d%d",&x,&y);
	}
	bool operator <(const Point &tmp){
		return x<tmp.x;
	}
	bool operator >(const Point &tmp){
		return x>tmp.x;
	}
	bool operator ==(const Point &tmp){
		return (x==tmp.x&&y==tmp.y);
	}
	Point operator +(const Point &tmp){
		Point s;
		s.x=x+tmp.x;
		s.y=y+tmp.y;
		return s;
	}
}pos[KN];
Point tar,d;
bool my_cmp(const Point &a,const Point &b)
{
	if(a.x==b.x) return a.y<b.y;
	else return a.x<b.x;
}

void work()
{
	scanf("%d",&N);
	pos[0].read();
	tar.read();
	int i;
	for(i=1;i<=N;i++){
		d.read();
		pos[i]=pos[i-1]+d;
		if(pos[i]==tar) break;
	}
	if(i>N)
	{
		printf("SingleDogMZX");
		return;
	}
	sort(pos,pos+1+i,my_cmp);
	for(int j=0;j<=i;j++) 
		if(!(pos[j]==pos[j+1]))
			ans++;
	printf("%d",ans);
}

int main()
{
	freopen("loverfinding.in","r",stdin);
	freopen("loverfinding.out","w",stdout);
	work();
	return 0;
}