codeforces 515A.Drazil and Date 解题报告

时间:2023-03-10 01:08:26
codeforces   515A.Drazil and Date   解题报告

题目链接:http://codeforces.com/problemset/problem/515/A

题目意思:问能否从 (0, 0) 出发,恰好走 s 步,到达该位置(a, b)。

  首先容易知道,最少的步数为 |a| + |b|,最长就是——当然是无限啦(乱兜圈子就行)。然后就有一点点带着个人感觉来做了= =,第六感确实不错的,呵呵,证明就有待考究了。

  如果 |a| + |b| 跟 s 的奇偶性相同就有解,否则无解。当然前提是满足 s 至少要比最少的步数大!

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
using namespace std; int main() {
int a, b, s;
while (scanf("%d%d%d", &a, &b, &s) != EOF) {
int mindist = abs(a) + abs(b);
if (mindist > s)
printf("No\n");
else {
if (mindist & && s & )
printf("Yes\n");
else if (mindist % == && s % == )
printf("Yes\n");
else
printf("No\n");
}
}
return ;
}