Submission #710754

#TimeUsernameProblemLanguageResultExecution timeMemory
710754mdubBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
393 ms55844 KiB
#include <bits/stdc++.h>

using namespace std;

int main () {
  int n, m; cin >> n >> m;
  vector<string> grid(n);
  for (int i = 0; i < n; i++) {
    cin >> grid[i];
  }
  
  int count = 0;
  vector<vector<int>> js(n, vector<int>(m, 0));
  for (int y = 0; y < n; y++) {
    count = 0;
    for (int x = m - 1; x >= 0; x--) {
      if (grid[y][x] == 'O') count++;
      if (grid[y][x] == 'J') js[y][x] = count;

    }
  }
  
  long long ans = 0;
  count = 0;
  for (int x = 0; x < m; x++) {
    count = 0;
    for (int y = n-1; y >= 0; y--) {
      if (grid[y][x] == 'I') count++;
      if (grid[y][x] == 'J') ans += js[y][x]*count;
    }
  }
  cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...