给你n∗m的一个网格,求2∗2的方格的个数,里面的字符可以构成'face' 输入 第一行输入两个整数n,m( 1 ≤ � , � ≤ 50 1≤n,m≤50) 接下来n行每行m个小写字符 输出 输出满足条件的2∗2的方格的数量 样例 输入 1复制 2 3 fac cef 输出 1复制 2 c++代码
时间: 2023-07-12 07:23:15 浏览: 341
以下是 C++ 代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
int n, m, count = 0;
cin >> n >> m;
string grid[n];
for (int i = 0; i < n; i++) {
cin >> grid[i];
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < m - 1; j++) {
if (grid[i][j] == 'f' && grid[i+1][j] == 'a' && grid[i][j+1] == 'c' && grid[i+1][j+1] == 'e') {
count++;
}
}
}
cout << count << endl;
return 0;
}
```
我们首先输入网格的行数和列数,然后使用一个字符串数组来存储网格中的字符。接下来,我们遍历整个网格,每次判断当前位置以及右边、下面和右下方是否可以构成 "face",如果可以,就增加计数器的值。最后输出计数器的值即可。
代码中使用了两个循环来遍历整个网格,并使用 if 语句来判断是否可以构成 "face"。
相关问题
时间限制:1 s内存限制:128 MB 给你n∗m的一个网格,求2∗2的方格的个数,里面的字符可以构成'face' 输入 第一行输入两个整数n,m( 1 ≤ � , � ≤ 50 1≤n,m≤50) 接下来n行每行m个小写字符 输出 输出满足条件的2∗2的方格的数量 c++代码
好的,以下是 C++ 代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
int n, m, count = 0;
cin >> n >> m;
string grid[n];
for (int i = 0; i < n; i++) {
cin >> grid[i];
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < m - 1; j++) {
if (grid[i][j] == 'f' && grid[i+1][j] == 'a' && grid[i][j+1] == 'c' && grid[i+1][j+1] == 'e') {
count++;
}
}
}
cout << count << endl;
return 0;
}
```
我们首先输入网格的行数和列数,然后使用一个字符串数组来存储网格中的字符。接下来,我们遍历整个网格,每次判断当前位置以及右边、下面和右下方是否可以构成 "face",如果可以,就增加计数器的值。最后输出计数器的值即可。
代码中使用了两个循环来遍历整个网格,并使用 if 语句来判断是否可以构成 "face"。
阅读全文