在 C++ 中查找矩阵中的单个运动
在这个问题中,我们给出了四个值 x1、y1、x2、y2,分别表示两个点 (x1, y1) 和 (x2, y2)。我们的任务是在矩阵中找到单个运动。我们需要找到可以从一个点 (x1, y1) 移动到 (x2, y2) 的方向。需要单一的方向可以有任意数量的移动,我们需要以“左”、“右”、“上”、“下”的形式返回方向。否则返回-1,表示“不可能”。
让我们举个例子来理解这个问题,
输入
x1 = 2, y1 = 1, x2 = 5, y1 = 1输出结果
Right
解决方法
该问题的一个简单解决方案是使用以下事实:要从源到达目的地,两个坐标 x1:x2 或 y1:y2 中的任何一个都需要相同。对于这些值,以下是案例 -
Case 1: x1 = x2 & y1 > y2 -> Direction : LeftCase 1: x1 = x2 & y2 > y1 -> Direction : RightCase 1: y1 = y2 & x1 > x2 -> Direction : UpCase 1: y1 = y2 & x2 > x1 -> Direction : Down
程序来说明我们的解决方案的工作,
示例
#include <iostream>输出结果using namespace std;
void findSingleMovement(int x1, int y1, int x2, int y2) {
if (x1 == x2 && y1 < y2)
cout<<"Right";
else if (x1 == x2 && y1 > y2)
cout<<"Left";
else if (y1 == y2 && x1 < x2)
cout<<"Down";
else if (y1 == y2 && x1 > x2)
cout<<"Up";
else
cout<<"Not Possible";
}
int main() {
int x1, x2, y1, y2;
x1 = 2; y1 = 1;
x2 = 5; y2 = 1;
cout<<"运动方向是 ";
findSingleMovement(x1, y1, x2, y2);
return 0;
}
运动方向是 Down
以上是 在 C++ 中查找矩阵中的单个运动 的全部内容, 来源链接: utcz.com/z/311410.html