Submission #520770

#TimeUsernameProblemLanguageResultExecution timeMemory
520770cig32Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
623 ms158756 KiB
#include "bits/stdc++.h"
#define int long long
using namespace std;
const int MAXN = 1e6 + 10;
int32_t main() {
  int h, w;cin >> h >> w;
  char a[h+1][w+1];
  int O[h+1][w+1];
  int I[h+1][w+1];
  for(int i=0; i<=h; i++) {
    for(int j=0; j<=w; j++) {
      O[i][j] = I[i][j] = 0;
    }
  }
  for(int i=1;i <=h; i++) {
    for(int j=1; j<=w; j++) {
      cin >> a[i][j];
      O[i][j] = O[i][j-1] + (a[i][j] == 'O');
      I[i][j] = I[i-1][j] + (a[i][j] == 'I');
    }
  }
  int ans=  0;;
  for(int i=1; i<=h;i ++) {
    for(int j=1; j<=w; j++) {
      if(a[i][j] == 'J') {
        ans += (O[i][w] - O[i][j]) * (I[h][j] - I[i][j]);
      }
    }
  }
  cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...