酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++实现计算'#'构成的T字图形个数

```cpp #include <iostream> #include <vector> using namespace std; // 检查是否构成T字图形,以(x, y)为中心 bool isTshape(const vector<string>& matrix, int x, int y) { int rows = matrix.size(); int cols = matrix[0].size(); // 检查是否有竖线 if (x < 1 || x >= rows - 1) return false; if (matrix[x - 1][y] != '#' || matrix[x][y] != '#' || matrix[x + 1][y] != '#') return false; // 检查是否有横线 if (y < 1 || y >= cols - 1) return false; if (matrix[x][y - 1] != '#' || matrix[x][y + 1] != '#') return false; return true; } int main() { int n, m; cin >> n >> m; vector<string> matrix(n); for (int i = 0; i < n; i++) { cin >> matrix[i]; } int count = 0; // 遍历矩阵中的每个元素 for (int i = 1; i < n - 1; i++) { for (int j = 1; j < m - 1; j++) { if (isTshape(matrix, i, j)) { count++; } } } cout << count << endl; return 0; } ``` 上述代码实现了计算由`#`构成的T字图形个数的功能。首先,定义了`isTshape`函数用于检查以某个点为中心是否构成T字图形。在`main`函数中,读取矩阵的行数和列数,然后读取矩阵内容。接着,遍历矩阵中的每个元素,对于符合条件的点调用`isTshape`函数进行检查,如果构成T字图形则计数器加1。最后输出T字图形的个数。 ######[AI问答 | 480点数解答 | 2026-06-06 19:49:20]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]