제출 #1258705

#제출 시각아이디문제언어결과실행 시간메모리
1258705quanaskingerBitaro the Brave (JOI19_ho_t1)C++17
50 / 100
366 ms339968 KiB
#include<bits/stdc++.h>
using namespace std;
long long n, m, pre1[3][3005][3005], pre2[3][3005][3005];
char d[3] = {'J', 'I', 'O'};
int main() {
	cin >> m >> n;
	char arr[m + 5][n + 5];
	for (long long i = 1; i <= m; i++) {
		for (long long j = 1; j <= n; j++) {
			cin >> arr[i][j];
			for (long long k = 0; k <= 2; k++) {
				pre1[k][i][j] = pre1[k][i][j - 1] + (arr[i][j] == d[k]);	
				pre2[k][i][j] = pre2[k][i - 1][j] + (arr[i][j] == d[k]);	
			}
		}
	}
	long long res = 0;
	for (long long i = 1; i <= m; i++) {
		for (long long j = 1; j <= n; j++) {
			if (arr[i][j] == 'J') {
				res += (pre2[1][m][j] - pre2[1][i][j]) * (pre1[2][i][n] - pre1[2][i][j]);
			}
		}
	}
	cout << res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...