C++ 代码找出网格是否完全可访问
假设我们得到一个有 2 行 n 列的网格。一个机器人位于网格中的位置 (0, 0),它想访问 (1, n - 1),方法是访问与其当前位置相邻和角落的单元格。我们得到了一个字符串数组中的网格,如果一个单元格标记为“#”,则它被阻塞,如果一个单元格标记为“.”,则它可以访问。我们必须找出机器人是否可以从单元格 (0, 0) 访问单元格 (1, n - 1)。
因此,如果输入类似于 n = 4、grid = {".##.", "...."},则输出将为可行。
步骤
要解决此问题,我们将遵循以下步骤 −
flag := 1 for initialize i := 0, when i < n, update (increase i by 1), do: if grid[0, i] is same as '#' and grid[1, i] is same as '#', then: flag := 0 if flag is same as 0, then: print("Not Possible.") Otherwise print("Possible.")
示例
让我们看看以下实现以便更好地理解 −
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int n, string grid[]) { int flag = 1; for(int i = 0; i < n; i++){ if(grid[0].at(i) == '#' && grid[1].at(i) == '#'){ flag = 0; } } if (flag == 0) cout<<"Not Possible."; else cout<<"Possible."; } int main() { int n = 4; string grid[] = {".##.", "...."}; solve(n, grid); return 0; }
输入
4, {".##.", "...."}
输出
Possible.
广告