제출 #717867

#제출 시각아이디문제언어결과실행 시간메모리
717867blackslexBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
193 ms150252 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;

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

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

컴파일 시 표준 에러 (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("%d %d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~~
joi2019_ho_t1.cpp:13:39: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     for (int i = 1; i <= n; i++) scanf("%s", c[i] + 1);
      |                                  ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...