제출 #527598

#제출 시각아이디문제언어결과실행 시간메모리
527598SlavicGBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
308 ms159080 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #define forn(i,n) for(int i=0;i<n;i++) #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(),v.rend() #define pb push_back #define sz(a) (int)a.size() const int N = 3005; char c[N][N]; ll a[N][N], b[N][N]; void solve() { int n, m; cin >> n >> m; for(int i = 0;i < n; ++i) { for(int j = 0;j < m; ++j) { cin >> c[i][j]; } } for(int i = 0;i < n; ++i) { for(int j = m - 1; j >= 0; --j) { a[i][j] = a[i][j + 1]; if(c[i][j] == 'O') ++a[i][j]; } } for(int i = 0;i < m; ++i) { for(int j = n - 1;j >= 0; --j) { b[i][j] = b[i][j + 1]; if(c[j][i] == 'I') ++b[i][j]; } } ll ans = 0; for(int i = 0;i < n; ++i) { for(int j = 0;j < m; ++j) { if(c[i][j] != 'J') continue; ans += a[i][j + 1] * b[j][i + 1]; } } cout << ans << "\n"; } int32_t main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; //cin >> t; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...