#include<cstdio>
using namespace std;
char court[105][105];
int R, C, K, s;
int main()
{
scanf("%d%d%d", &R, &C, &K);
getchar();
for (int i = 0; i < R; i++)
{
for (int j = 0; j < C; j++)
court[i][j] = getchar();
getchar();
}
if (1 == K)
{
for (int i = 0; i < R; i++)
for (int j = 0; j < C; j++)
if (court[i][j] == '.')
s++;
}
else
{
for (int i = 0; i < R; i++)
for (int j = 0; j < C; j++)
{
for (int k = 0; k < K; k++)
if (court[i][j + k] != '.' || j + k >= C)
goto A;
s++;
A:;
}
for (int j = 0; j < C; j++)
for (int i = 0; i < R; i++)
{
for (int k = 0; k < K; k++)
if (court[j + k][i] != '.' || j + k >= C)
goto B;
s++;
B:;
}
}
printf("%d", s);
return 0;
}
洛谷P3654 First Step (ファーストステップ)进阶解法
最新推荐文章于 2024-09-15 10:50:22 发布
这篇博客详细介绍了如何使用C++实现一个程序,计算给定二维字符数组(court)中空格字符'.'的数量。针对两种不同情况(K=1和K大于1),代码展示了遍历矩阵并计数的方法。

4万+

被折叠的 条评论
为什么被折叠?



