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.
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP