제출 #891305

#제출 시각아이디문제언어결과실행 시간메모리
891305IrateBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
172 ms88912 KiB
#include<bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector<vector<char>>grid(n + 1, vector<char>(m + 1)); for(int i = 1;i <= n;++i){ for(int j = 1;j <= m;++j){ cin >> grid[i][j]; } } vector<vector<int>>orbs(n + 1, vector<int>(m + 1)); for(int i = 1;i <= n;++i){ for(int j = m;j >= 1;--j){ if(j + 1 <= m)orbs[i][j] = orbs[i][j + 1] + (grid[i][j] == 'O'); else orbs[i][j] = (grid[i][j] == 'O'); } } vector<vector<int>>ingots(n + 1, vector<int>(m + 1)); for(int i = n;i >= 1;--i){ for(int j = 1;j <= m;++j){ if(i + 1 <= n)ingots[i][j] = ingots[i + 1][j] + (grid[i][j] == 'I'); else ingots[i][j] = (grid[i][j] == 'I'); } } long long res = 0; for(int i = 1;i <= n;++i){ for(int j = 1;j <= m;++j){ if(grid[i][j] == 'J'){ res += ingots[i][j] * orbs[i][j]; } } } cout << res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...