概述
题目要求
题目链接
分析
这题是一道入门难度的题,但很有意思,所以分享一下。
不知道会不会有人考虑到什么连通区域、DFS之类的奇怪内容,抑或是苦于不知道怎么去循环搜索。
其实很简单,开一个大数组,把边留出来,从
1
1
1开始开循环。
每次读到
∗
*
∗就把当前值赋为1,并于此时判断左边和上边的元素是不是都是0(对应着默认初始化的边界或者已经确定的
.
.
.)。
你也可以开char数组,只不过需要多一种判断情况,毕竟还有’ ’和 . . .两种可能嘛,其实差不多。
AC代码
#include <iostream>
using namespace std;
int graph[123][123];
int main() {
int n, m, result = 0;
char temp;
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> temp;
if (temp == '*') {
graph[i][j] = 1;
if (graph[i-1][j] == 0 && graph[i][j-1] == 0) {
result++;
}
}
}
}
cout << result;
return 0;
}
最后
以上就是炙热电灯胆为你收集整理的Emacs(洛谷P6866题题解,C++语言描述)题目要求分析AC代码的全部内容,希望文章能够帮你解决Emacs(洛谷P6866题题解,C++语言描述)题目要求分析AC代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复