#include<bits/stdc++.h>
using namespace std;
long long n, m, pre1[3][3005][3005], pre2[3][3005][3005];
char d[3] = {'J', 'I', 'O'};
int main() {
cin >> m >> n;
char arr[m + 5][n + 5];
for (long long i = 1; i <= m; i++) {
for (long long j = 1; j <= n; j++) {
cin >> arr[i][j];
for (long long k = 0; k <= 2; k++) {
pre1[k][i][j] = pre1[k][i][j - 1] + (arr[i][j] == d[k]);
pre2[k][i][j] = pre2[k][i - 1][j] + (arr[i][j] == d[k]);
}
}
}
long long res = 0;
for (long long i = 1; i <= m; i++) {
for (long long j = 1; j <= n; j++) {
if (arr[i][j] == 'J') {
res += (pre2[1][m][j] - pre2[1][i][j]) * (pre1[2][i][n] - pre1[2][i][j]);
}
}
}
cout << res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |