#include<stdio.h>
#include<math.h>
int main()
{
int a,b,M,x;
scanf("%d%d%d",&a,&b,&M);
x=abs(a)+abs(b)-M;
if(x>0)
{
printf("No");
}
else if(x==0)
{
printf("Yes");
}
else
{
if(x%2==0)
{
printf("Yes");
}
else
{
printf("No");
}
}
return 0;
}
关键点:
- 工程车从(a, b)返回到(0, 0)需要经过的总步数是|a| + |b|,即坐标差的绝对值和。
-
现在,工程车能否通过M步回到原点的条件是:
- M步的总数需要足够大,至少要等于|a| + |b|。
- M - (|a| + |b|)必须是偶数。因为每一步改变的坐标是1单位,无法“半步”返回,因此剩余的步数必须是偶数,这样才能用剩余的步数来“消耗”掉回到原点的差距。
结论:
- 如果M小于|a| + |b|,则无法返回村长家。
- 如果M - (|a| + |b|)是偶数,则可以通过M步返回村长家。
- 否则,无法返回。



京公网安备 11010502036488号