记录编号 327074 评测结果 AAAAAAAAAA
题目名称 为爱追寻 最终得分 100
用户昵称 GravatarHzoi_chairman 是否通过 通过
代码语言 C++ 运行时间 7.256 s
提交时间 2016-10-21 19:37:20 内存使用 7.94 MiB
显示代码纯文本
/*
	Name: 为爱追寻
	Copyright: 
	Author: chairman
	Date: 21/10/16 19:37
	Description: 居然故意卡掉map,用将之前走过的点排序,然后就可以去重了 
*/
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstdio>
using namespace std;
int read()
{
	int x,f=1;
	char ch;
	while(ch=getchar(),!isdigit(ch))if(ch=='-')f=-1;
	x=ch-48;
	while(ch=getchar(),isdigit(ch))x=x*10+ch-48;
	return x*f;
}
void write(int x)
{
	if(x<0)putchar('-'),x=-x;
	int cnt=0;char ch[50];
	while(ch[++cnt]=x%10+48,x/=10);
	while(putchar(ch[cnt]),--cnt);
	putchar('\n');
}
#define maxn 1000100 
struct node
{
	int x,y;
}a[maxn];
bool com(const node & a,const node & b)
{
	if(a.x==b.x)return a.y<b.y;
	return a.x<b.x;
}
int main()
{
	freopen("loverfinding.in","r",stdin);
	freopen("loverfinding.out","w",stdout);
	int n=read(),x1=read() ,y1=read(),x2=read(),y2=read(),cnt=1,ans=0;
	a[1].x=x1;a[1].y=y1;
	if(x1!=x2||y1!=y2)
		for(int i=2;i<=n+1;i++)
		{
			int x=read(),y=read();cnt++;
			a[i].x=a[i-1].x+x;a[i].y=a[i-1].y+y;
			if(a[i].x==x2&&a[i].y==y2)break;
		}
	if(a[cnt].x!=x2||a[cnt].y!=y2)puts("SingleDogMZX");
	else
	{
		sort(a+1,a+1+cnt,com);
		for(int i=1;i<=cnt;i++)if(a[i].x!=a[i-1].x||a[i].y!=a[i-1].y)ans++;
		if(a[1].x==0&&a[1].y==0)ans++;//注意起点是(0,0)的情况 
		write(ans);
	}
//	system("pause");
//	fclose(stdin);
//	fclose(stdout);
}