#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define ff first
#define ss second
#define mp make_pair
#define sz size()
#define veg vegeta
#define harderahhh ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
const int N = 1e9+7;
using namespace std;
ll x, l, y, t, z, hp, sus1, sus2, g, sus, i, j, sus3, bruh, bruh1, bruh2, bruh3, dog1, h, r, dog2, dog3, n, k;
char na[3005][3005];
ll uai[3005][3005], oia[3005][3005];
void dfs(ll x) {
}
int main() {
harderahhh;
cin >> n >> k;
for (i = 1; i <= n; i++) {
for (j = 1; j <= k; j++) {
cin >> na[i][j];
}
}
for (i = 1; i <= n; i++) {
for (j = k; j >= 1; j--) {
if (na[i][j] == 'O') {
uai[i][j] = uai[i][j+1] + 1;
} else {
uai[i][j] = uai[i][j+1];
}
}
}
for (i = 1; i <= k; i++) {
for (j = n; j >= 1; j--) {
if (na[j][i] == 'I') {
oia[j][i] = oia[j+1][i] + 1;
} else {
oia[j][i] = oia[j+1][i];
}
}
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= k; j++) {
if (na[i][j] == 'J') {
sus += uai[i][j]*oia[i][j];
}
}
}
cout << sus;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |