且歌且行,眉目轻盈。何妨吟啸且徐行。|

胖柚の工作室

园龄:2年1个月粉丝:2关注:15

2024-04-04 12:27阅读: 14评论: 0推荐: 0

P3654 First Step (ファーストステップ)

题目链接:

本题数据范围仅为 100,因此可以暴力枚举 O(n3),唯一需要注意的一点就是k=1 时,横着站和竖着站是一样的,答案被计算了两次,因此最终的 ans 需要再除以 2

#include <bits/stdc++.h>
const int N = 110;
char w[N][N];
int R, C, K, ans;
bool flag = true;
int main()
{
std::cin >> R >> C >> K;
for (int i = 0; i < R; i++) {
for (int j = 0; j < C; j++) {
std::cin >> w[i][j];
}
}
for (int i = 0; i < R; i++) {
for (int j = 0; j <= C - K; j++) {
int z = j + K - 1;
flag = true;
for (int k = j; k <= z; k++) {
if (w[i][k] == '#') flag = false;
}
if (flag) ans++;
}
}
for (int j = 0; j < C; j++) {
for (int i = 0; i <= R - K; i++) {
int z = i + K - 1;
flag = true;
for (int k = i; k <= z; k++) {
if (w[k][j] == '#') flag = false;
}
if (flag) ans++;
}
}
if (K == 1) ans /= 2;
std::cout << ans;
return 0;
}

本文作者:pangyou3s

本文链接:https://www.cnblogs.com/pangyou3s/p/18114081

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   胖柚の工作室  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起