Submission #572384

#TimeUsernameProblemLanguageResultExecution timeMemory
572384stevancvBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
152 ms89660 KiB
#include <bits/stdc++.h> #define ll long long #define ld long double #define sp ' ' #define en '\n' #define smin(a, b) a = min(a, b) #define smax(a, b) a = max(a, b) using namespace std; const int N = 1e5 + 2; int mod = 1000000007; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; cin >> n >> m; vector<string> a(n); vector<vector<int>> b(n, vector<int>(m)), c(n, vector<int>(m)); for (int i = 0; i < n; i++) { cin >> a[i]; } ll ans = 0; for (int i = n - 1; i >= 0; i--) { for (int j = m - 1; j >= 0; j--) { if (a[i][j] == 'O') b[i][j] = 1; if (a[i][j] == 'I') c[i][j] = 1; if (j < m - 1) b[i][j] += b[i][j + 1]; if (i < n - 1) c[i][j] += c[i + 1][j]; if (a[i][j] == 'J') ans += b[i][j] * c[i][j]; } } cout << ans << en; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...