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