AOJ 0621 Russian Flag
こんにちは川です。
今回は、各列の’W’、’B’、’R’の数を保存し、
色の境目を全通り試した感じです。
#include <bits/stdc++.h>
using
namespace
std;
int
main() {
int
n,m;
cin>>n>>m;
int
num[50][3]={};
char
str;
for
(
int
i=0;i<n;i++){
for
(
int
j=0;j<m;j++){
cin>>str;
if
(str==
'W'
)num[i][0]++;
else
if
(str==
'B'
)num[i][1]++;
else
num[i][2]++;
}
}
int
ans=25000;
for
(
int
i=0,notw=0;i<n-2;i++){
notw+=num[i][1]+num[i][2];
for
(
int
j=i+1,notb=0;j<n-1;j++){
notb+=num[j][0]+num[j][2];
for
(
int
k=j+1,notr=0;k<n;k++){
notr+=num[k][0]+num[k][1];
if
(k==n-1)ans=min(ans,notw+notb+notr);
}
}
}
cout<<ans<<endl;
}