結果

提出番号 518
提出者 neg4jaYR
言語 C++
提出日時 2017-07-21 23:23:29
問題名 (31)ロシアの旗 (Russian Flag)
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 1ms 8320KB
2 AC 100% 1ms 8336KB
3 AC 100% 1ms 8320KB
4 AC 100% 2ms 8336KB
5 AC 100% 1ms 8336KB

ソースコード

#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
	int N, M;
	int F[51][3] = { {} };
	scanf("%d%d", &N, &M);
	for (int i = 1; i <= N; i++) {
		char s[51];
		scanf("%s", s);
		for (int j = 0; j < M; j++) {
			switch (s[j]) {
				case 'W':
					F[i][0]++;
					break;
				case 'B':
					F[i][1]++;
					break;
				case 'R':
					F[i][2]++;
					break;
				default:
					break;
			}
		}
		F[i][0] += F[i - 1][0];
		F[i][1] += F[i - 1][1];
		F[i][2] += F[i - 1][2];
	}
	int ans = 0;
	for (int i = 1; i <= N - 2; i++) {
		for (int j = i + 1; j <= N - 1; j++) {
			ans = max(ans, F[i][0] + F[j][1] - F[i][1] + F[N][2] - F[j][2]);
		}
	}
	printf("%d\n", N*M - ans);
}