Submission #288854

#TimeUsernameProblemLanguageResultExecution timeMemory
288854BeanZBitaro the Brave (JOI19_ho_t1)C++14
50 / 100
258 ms274436 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define endl '\n'
const int N = 2e5 + 5;
char a[5005][5005];
ll col[5005][5005][3], row[5005][5005][3];
int main(){
        ios_base::sync_with_stdio(false);
        cin.tie(0);
        if (fopen("VietCT.INP", "r")){
                freopen("VietCT.INP", "r", stdin);
                freopen("VietCT.OUT", "w", stdout);
        }
        ll n, m;
        cin >> n >> m;
        string s = "JOI";
        for (int i = 1; i <= n; i++){
                for (int j = 1; j <= m; j++){
                        cin >> a[i][j];
                        for (int k = 0; k < 3; k++){
                                col[i][j][k] = col[i - 1][j][k] + (a[i][j] == s[k]);
                                row[i][j][k] = row[i][j - 1][k] + (a[i][j] == s[k]);
                        }
                }
        }
        ll ans = 0;
        for (int i = 1; i <= n; i++){
                for (int j = 1; j <= m; j++){
                        if (a[i][j] == 'J'){
                                ans = ans + (row[i][m][1] - row[i][j][1]) * (col[n][j][2] - col[i][j][2]);
                        }
                }
        }
        cout << ans;
}
/*
*/

Compilation message (stderr)

joi2019_ho_t1.cpp: In function 'int main()':
joi2019_ho_t1.cpp:14:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   14 |                 freopen("VietCT.INP", "r", stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
joi2019_ho_t1.cpp:15:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   15 |                 freopen("VietCT.OUT", "w", stdout);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...