Submission #97296

#TimeUsernameProblemLanguageResultExecution timeMemory
97296RezwanArefin01Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
357 ms79996 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 3010;
int n, m, r[N][N], c[N][N]; 
char s[N][N]; 

int main(int argc, char const *argv[]) {
    scanf("%d %d", &n, &m);
    for(int i = 1; i <= n; i++) 
        scanf(" %s", s[i] + 1); 
    
    for(int i = 1; i <= n; i++) 
        for(int j = m; j >= 1; j--)
            r[i][j] = r[i][j + 1] + (s[i][j] == 'O');

    for(int j = 1; j <= m; j++) 
        for(int i = n; i >= 1; i--) 
            c[i][j] = c[i + 1][j] + (s[i][j] == 'I'); 

    long long ans = 0;
    for(int i = 1; i <= n; i++) 
        for(int j = 1; j <= m; j++) 
            ans += (s[i][j] == 'J') * r[i][j] * c[i][j]; 

    printf("%lld\n", ans);
}

Compilation message (stderr)

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