Submission #52000


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin(), x.end()
#define rep(i, n) for (int i = 0; i < n; ++i)
#define reps(i, m, n) for (int i = m; i <= n; ++i)
using i64 = long long;
using pii = pair<i64, i64>;
template<class A, class B>inline bool chmax(A &a, const B &b){return b > a ? a = b,1 : 0;}
template<class A, class B>inline bool chmin(A &a, const B &b){return b < a ? a = b,1 : 0;}
constexpr int INF = 0x3f3f3f3f;
constexpr i64 LINF = 0x3f3f3f3f3f3f3f3fLL;
constexpr int mod = int(1e9) + 7;
int n, m, d;
string S[110];
string sp2[110];
bool isMatch(int y, int x) {
if (y + d > n) return false;
rep(i, d) {
if (sp2[i][0] != S[y+i][x]) return false;
}
return true;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m >> d;
string sp1 = "";
rep(i, d) sp1 += ".";
rep(i, d) sp2[i] = ".";
rep(i, n) cin >> S[i];
int ans = 0;
for (int sy = 0; sy < n; ++sy) {
for (int sx = 0; sx <= m - d; ++sx) {
if (S[sy].substr(sx, d) == sp1) ++ans;
}
}
for (int sy = 0; sy < n; ++sy) {
for (int sx = 0; sx < m; ++sx) {
if (isMatch(sy, sx)) ++ans;
}
}
cout << ans << "\n";
return 0;
}

ステータス

項目 データ
問題 0594 - 休憩スペース (Refreshment Area)
ユーザー名 もけ
投稿日時 2019-07-28 14:36:39
言語 C++14
状態 Accepted
得点 100
ソースコード長 1263 Byte
最大実行時間 45 ms
最大メモリ使用量 680 KB

セット

セット 得点 Cases
1 set1 20 / 20 *t3*1.txt
2 set2 20 / 20 *t3*2.txt
3 set3 20 / 20 *t3*3.txt
4 set4 20 / 20 *t3*4.txt
5 set5 20 / 20 *t3*5.txt

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
2017-yo-t3-in1.txt AC 45 ms 604 KB
1
2017-yo-t3-in2.txt AC 19 ms 680 KB
2
2017-yo-t3-in3.txt AC 23 ms 496 KB
3
2017-yo-t3-in4.txt AC 26 ms 560 KB
4
2017-yo-t3-in5.txt AC 18 ms 620 KB
5