AcWing 5565. 残垣断壁
原题链接
中等
作者:
L@D
,
2024-04-09 19:45:27
,
所有人可见
,
阅读 2
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int n,m;
string s;
int ans=0;
int main()
{
cin>>n>>m;
for (int i = 0; i < n; i ++ )
cin>>s;//只用处理最后一行
bool st=false;//为真表示当前还处于连通状态,假则表示已经断开
for (int j = 0; j < m; j ++ )
{
if(s[j]=='B'&&!st)ans++,st=true;//当遇到的字符为B则有两种情况:1.此时仍然处于连通情况,答案不变2.前面已经断开,此时ans++
if(s[j]=='.')st=false;//遇到.表示从这里断开,状态变为断开,st=false
}
cout<<ans;
return 0;
}