제출 #1359250

#제출 시각아이디문제언어결과실행 시간메모리
1359250hashimzaderashidBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
619 ms124384 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    ll t,a,b,c,e,f;
    cin>>a>>b;
    vector<pair<ll,ll>>vj;
    vector<vector<ll>>mpo(a+1);
    vector<vector<ll>>mpi(b+1);
    char ck;
    for(int i = 1;i<=a;i++){
        for(int j = 1;j<=b;j++){
            cin>>ck;
            if(ck == 'J'){
                vj.push_back({i,j});
            }
            else if(ck == 'O'){
                mpo[i].push_back(j);
            }
            else{
                mpi[j].push_back(i);
            }
        }
    }
    ll ans = 0;
    for(int i = 0;i<vj.size();i++){
       ll idx = mpo[vj[i].first].end()-upper_bound(mpo[vj[i].first].begin(),mpo[vj[i].first].end(),vj[i].second);
       ll idx2 = mpi[vj[i].second].end()-upper_bound(mpi[vj[i].second].begin(),mpi[vj[i].second].end(),vj[i].first);
       ans += idx*idx2;
    }
    cout<<ans<<endl;
}
//By Rashid_Hashimzade
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…