Submission #539776

#TimeUsernameProblemLanguageResultExecution timeMemory
539776krit3379Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
280 ms88500 KiB
#include<bits/stdc++.h>
using namespace std;
#define N 3005

int a[N][N],b[N][N];
long long ans;
char s[N][N];

int main(){
    int n,m,i,j;
    scanf("%d %d",&n,&m);
    for(i=1;i<=n;i++){
        scanf(" %s",s[i]+1);
    }
    for(i=1;i<=n;i++){
        for(j=m;j>0;j--){
            if(s[i][j]=='O')a[i][j]++;
            a[i][j]+=a[i][j+1];
        }
    }
    for(i=1;i<=m;i++){
        for(j=n;j>0;j--){
            if(s[j][i]=='I')b[j][i]++;
            b[j][i]+=b[j+1][i];
        }
    }
    for(i=1;i<=n;i++)for(j=1;j<=m;j++)if(s[i][j]=='J')ans+=a[i][j]*b[i][j];
    printf("%lld",ans);
    return 0;
}

Compilation message (stderr)

joi2019_ho_t1.cpp: In function 'int main()':
joi2019_ho_t1.cpp:11:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     scanf("%d %d",&n,&m);
      |     ~~~~~^~~~~~~~~~~~~~~
joi2019_ho_t1.cpp:13:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         scanf(" %s",s[i]+1);
      |         ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...