问题链接:第一次周赛problem H
问题简述
在平面直角坐标系上,起点(0,0),每次只可以走一个长度单位,判断走s步能否刚好到达(a,b),可以到达后再走回来,只要最终刚好可以到达终点即可。( - 109 ≤ a, b ≤ 109, 1 ≤ s ≤ 2·109)
思路及解题步骤
从起点(0,0)开始到达终点(a,b)最少需要走(a+b)步,如果s<a+b,那么始终走不到终点,如果s=a+b,那么刚好可以到达终点,如果s>a+b,呢么s-a-b是偶数的话就可以绕回来,否则到不了终点。
AC通过的C++语言程序如下:
#include<iostream>
using namespace std;
int main()
{
int a, b, s;
cin >> a >> b >> s;
if (a < 0) a = a*(-1);
if (b < 0) b = b*(-1);
if (a + b == s) cout << "YES";
else
if (a + b < s)
if ((s-a-b) % 2 == 0) cout << "YES";
else cout << "NO";
else cout << "NO";
return 0;
}