제출 #1323230

#제출 시각아이디문제언어결과실행 시간메모리
1323230hyyhBitaro the Brave (JOI19_ho_t1)C++20
20 / 100
3 ms3768 KiB
#include <iostream>
#include <math.h>
#include <vector>
#include <string>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <cstring>
#include <iomanip>
#include <set>
#include <bitset>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using piii = tuple<int,int,int>;
#define endl '\n'

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n;cin >> n;
    int m;cin >> m;
    vector<pii> Jcnt;
    vector<vector<int>> sumI(n+1,vector(m+1,0));
    vector<vector<int>> sumO(n+1,vector(m+1,0));
    vector<string> inp;
    for(int i{};i < n;i++){
        string str;
        cin >> str;
        inp.emplace_back(str);
    }
    for(int i{n-1};i >= 0;i--){
        for(int j{m-1};j >= 0;j--){
            char c = inp[i][j];
            sumI[i][j] = sumI[i+1][j]+(c == 'I');
            sumO[i][j] = sumO[i][j+1]+(c == 'O');
            if(c == 'J') Jcnt.emplace_back(i,j);
            //cout << sumI[i][j] << " ";
        }
        //cout << endl;
    }
    int sum = 0;
    for(auto [i,j]:Jcnt){
        sum += sumO[i][j]*sumI[i][j];
    }
    cout << sum;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...