제출 #307321

#제출 시각아이디문제언어결과실행 시간메모리
307321TemmieBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
390 ms157720 KiB
#include <bits/stdc++.h>

typedef long long ll;

int main() {
	std::ios::sync_with_stdio(0);
	
	int h, w; std::cin >> h >> w;
	std::vector <std::vector <char>> g(3001, std::vector <char> (3001));
	std::vector <std::vector <ll>> a(3001, std::vector <ll> (3001, 0)), b(a);
	for (int i = 1; i <= h; i++)
		for (int j = 1; j <= w; j++) {
			std::cin >> g[i][j];
			a[i][j] = a[i][j - 1];
			b[i][j] = b[i - 1][j];
			a[i][j] += g[i][j] == 'O';
			b[i][j] += g[i][j] == 'I';
		}
	ll ans = 0;
	for (int i = 1; i <= h; i++)
		for (int j = 1; j <= w; j++)
			if (g[i][j] == 'J')
				ans += (a[i][w] - a[i][j]) * (b[h][j] - b[i][j]);
	std::cout << ans << "\n";
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...