O(n^3)复杂度的AC代码
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
#include <tuple>
#include <iomanip>
#include <sstream>
using namespace std;
const int MAXN = 105;
int r, c, k;
char g[MAXN][MAXN];
int ans;
bool check(int i, int j, int dir) {
int x;
for (int d = 0; d < k; d++) {
if (dir == 0) {
x = g[i + d][j];
}
else {
x = g[i][j + d];
}
if (x != '.') {
return false;
}
}
return true;
}
int main() {
cin >> r >> c >> k;
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= c; j++) {
cin >> g[i][j];
}
}
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= c; j++) {
if (check(i, j, 0)) {
ans++;
}
if (check(i, j, 1)) {
ans++;
}
}
}
if (k == 1) cout << ans / 2;
else cout << ans;
return 0;
}
看看是哪里,比较好奇