#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m;
cin >> n >> m;
vector<string> grid(n);
for (auto &x: grid)
cin >> x;
vector<vector<int>> orbs(n,vector<int>(m));
for (int i=0;i<n;i++) {
for (int j=m-1;j>=0;j--) {
orbs[i][j]=(grid[i][j]=='O');
if (j+1<m) orbs[i][j]+=orbs[i][j+1];
}
}
vector<vector<int>> ingots(n,vector<int>(m));
for (int i=n-1;i>=0;i--) {
for (int j=0;j<m;j++) {
ingots[i][j]=(grid[i][j]=='I');
if (i+1<n) ingots[i][j]+=ingots[i+1][j];
}
}
ll ans=0;
for (int i=0;i<n;i++) {
for (int j=0;j<m;j++) if (grid[i][j]=='J') {
ans+=1LL*orbs[i][j]*ingots[i][j];
}
}
cout << ans << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |