제출 #1333391

#제출 시각아이디문제언어결과실행 시간메모리
1333391khoavn2008Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
159 ms9288 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld double
#define FOR(i,l,r) for(int i = (l), _r = (r); i <= _r; i++)
#define FORNG(i,r,l) for(int i = (r), _l = (l); i >= _l; i--)
#define REP(i,r) for(int i = 0, _r = (r); i < _r; i++)
#define endl '\n'
#define fi first
#define se second
#define pb push_back
#define size(v) ((int)(v).size())
#define all(v) (v).begin(),(v).end()
#define MASK(x) (1LL << (x))
#define BIT(x, i) (((x) >> (i)) & 1)

const ll MOD = 1e9 + 7, N = 3010, LOG = 19;
int n,m,col[N];
char a[N][N];
int main(){
    //freopen(".INP", "r", stdin);
    //freopen(".OUT", "w", stdout);
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m;
    FOR(i,1,n)FOR(j,1,m){
        cin>>a[i][j];
        if(a[i][j] == 'I')col[j]++;
    }
    ll ans = 0;
    FOR(i,1,n){
        ll cntO = 0;
        FOR(j,1,m)cntO += a[i][j] == 'O';
        FOR(j,1,m){
            if(a[i][j] == 'J')ans += cntO * col[j];
            if(a[i][j] == 'O')cntO--;
            if(a[i][j] == 'I')col[j]--;
        }
    }
    cout<<ans;
}
/*
4 4
JJOO
JJOO
IIJO
IIIJ
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...