Submission #719999

#TimeUsernameProblemLanguageResultExecution timeMemory
719999vjudge1Bitaro the Brave (JOI19_ho_t1)C++17
20 / 100
7 ms6836 KiB
#include<bits/stdc++.h>
using namespace std;

const int N=3001;
int n,m;
int cnt;
string mp[N],s;
int I[N][N],O[N][N];

int main(){
  ios_base::sync_with_stdio(0),cin.tie(0);
  cin >> n >> m;
  for(int i=1; i<=n; i++){
    cin >> s;
    mp[i]="x"+s;
  }
  for(int i=1; i<=n; i++){
    for(int j=m; j>=1; j--){
      O[i][j]=O[i][j+1];
      if(mp[i][j]=='O')O[i][j]++;
    }
  }
  for(int j=1; j<=m; j++){
    for(int i=n; i>=1; i--){
      I[i][j]=I[i+1][j];
      if(mp[i][j]=='I')I[i][j]++;
    }
  }
  for(int i=1; i<=n; i++){
    for(int j=1; j<=m; j++){
      if(mp[i][j]=='J')cnt+=I[i][j]*O[i][j];
    }
  }
  cout << cnt;

  return 0;
}

/*
J--O
| /
I
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...