F 小名的回答 (奇偶) 湖南师范大学2018年大学生程序设计竞赛新生赛
鏈接:https://www.nowcoder.com/acm/contest/127/F
來源:牛客網(wǎng)
題目描述
總算到暑假了,小姐姐是非常的閑,所以想去找梅溪湖的小名玩,可是她從沒去過梅溪湖,所以只能憑小名告訴她的地方走,每次只能向上下左右四個(gè)方向走1步。小姐姐的坐標(biāo)為(0,0),小名在(a,b),小姐姐有點(diǎn)近視,小名也有點(diǎn)近視。所以到了(a,b)也不一定能和小名會(huì)面,不過還好,小姐姐最后找到了小名。小姐姐想要小名知道自己來一趟是多么不容易,所以在聊天的過程中小姐姐說自己為了到這里走了n步。小名,你覺得她說的可能是真話么。有可能就輸出YES,否則輸出NO(如果用random的話,小姐姐覺得你好像不在意她,明年暑假就不來了)
輸入描述:
a,b,n(-1000<=a,b<=1000,a*b>0,1<=n<=2000)
輸出描述:
“YES” or “NO”
示例1
輸入
復(fù)制
2 2 4
輸出
復(fù)制
YES
示例2
輸入
復(fù)制
1 9 2
輸出
復(fù)制
NO
[分析]
最簡單的就是直接走a+b,也是最近的走法。所以一個(gè)條件就是n>=a+b;
還有可能要繞路。繞路無論如何繞,往上繞的路終究要往下走回來,往左繞的路終究要往右走回來,所以每繞一格路,終究都要再走一格繞回來,所以就是走兩步。就相當(dāng)于a+b+繞路的步數(shù),這個(gè)繞路的步數(shù)必定是偶數(shù),所以n必須和a+b具有相同的奇偶性。
[分析]
#include<cstdio> #include<cstring> int main() {int a, b, n;while (scanf("%d%d%d", &a, &b, &n) != EOF){int flag = 1;if (n < a + b)flag = 0;if (((a + b) & 1) != (n & 1))flag = 0;if (flag)printf("YES\n");else printf("NO\n");} }總結(jié)
以上是生活随笔為你收集整理的F 小名的回答 (奇偶) 湖南师范大学2018年大学生程序设计竞赛新生赛的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Beyond compare用法详解
- 下一篇: 量子计算 1 三个命题