本文主要是介绍大水题:兔八哥与猎人(C++),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
Description
兔八哥躲藏在树林旁边的果园里。
果园有M*NM∗N棵树,组成一个MM行NN列的矩阵,水平或垂直相邻的两棵树的距离为11。
兔子在一棵果树下。
猎人背着猎枪走进了果园,他爬上一棵果树,准备杀死兔八哥。
如果猎人与兔子之间没有其它的果树,猎人就可以看到兔八哥。
现己知猎人和兔子的位置,编写程序判断兔八哥所在的位置是否安全。
Format
Input
第一行为两个正整数a_x,a_yax,ay表示猎人的位置,第二行为两个正整数b_x,b_ybx,by表示兔八哥的位置。
Output
共有11行,为 yes 或 no 表示兔八哥的位置是否安全。
Samples
输入数据 1
1 1
2 2
Copy
输出数据 1
no
Copy
输入数据 2
3 3
1 5
Copy
输出数据 2
yes
这道题看上去像是出自这个动画片:兔八哥的第二集:猎兔进行时;
好的,那我们来理清一下思路;
假设他们的位置是这样的:
兔八哥在(1,1),猎人在(4,3),兔八哥是不安全的;
可如果 他们的位置像这样,
就是安全的;
我们可以发现,只要兔人横竖坐标只差绝对值不互质,他们之间就有树(就是安全的);
#include <bits/stdc++.h>
using namespace std;
int main() {int x1, y1, x2, y2;//兔八哥、猎人的横竖坐标; cin >> x1 >> y1 >> x2 >> y2;if (__gcd(abs(x1 - x2), abs(y1 - y2)) == 1)//__gcd()是求最大公因数的函数cout << "no";elsecout << "yes";return 0;
}
好了,这道题就ak了,请大家三连(点赞、关注、收藏)一下,谢谢各位老爷了!!
这篇关于大水题:兔八哥与猎人(C++)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!