Submission #717840

#TimeUsernameProblemLanguageResultExecution timeMemory
717840blackslexBitaro the Brave (JOI19_ho_t1)C++17
50 / 100
333 ms274432 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;

const int N = 3005;
ll n, m, a[N][N][2], b[N][N][2], ans;
// char c[N][N];
string c[N];

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

Compilation message (stderr)

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