제출 #1315508

#제출 시각아이디문제언어결과실행 시간메모리
1315508AgageldiBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
160 ms166556 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define N 500005 int tc = 1, n, a[N], ans, m; string s[N]; int32_t main() { ios::sync_with_stdio(0);cin.tie(0); cin >> n >> m; vector <vector <int>> O(n + 5, vector <int> (m + 5, 0)), I(m + 5, vector <int> (n + 5, 0)); for(int i = 1; i <= n; i++) { cin >> s[i]; s[i] = '.' + s[i]; } for(int i = 1; i <= n; i++) { for(int j = m; j >= 1; j--) { O[i][j] = O[i][j + 1] + (s[i][j] == 'O'); } } for(int i = 1;i <= m; i++) { for(int j = n; j >= 1; j--) { I[i][j] = I[i][j + 1] + (s[j][i] == 'I'); } } for(int i=1; i <= n; i++) { for(int j = 1; j <= m; j++) { if(s[i][j] == 'J') { ans += (O[i][j]) * I[j][i]; // for(int k = i + 1; k <= n; k++) { // if(s[k][j] == 'I') { // cout << i << " " << j << " " << k << " " << l << '\n'; // } // } } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...