只有一个疑问:
预估时间复杂度: O(n3)×m
但是 n,m<50 , 所以时间复杂度最大是 O(6250000)<108
不知道为什么会 tle
有没有大佬解释一下谢谢
code :
#include<bits/stdc++.h>
using namespace std;
#define zwx return
#define code 0
const int N = 50;
int n,m,sum,ans=114514;
char a[N][N];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=2;i<n;i++){//i指下一种颜色从第i行开始
for(int j=i+1;j<=n;j++){
sum=0;
for(int x=1;x<i;x++)
for(int y=0;y<m;y++)
if(a[x][y]!='W')++sum;//计算要涂颜色的次数(白)
for(int x=i;x<j;x++)
for(int y=0;y<m;y++)
if(a[x][y]!='B')++sum;//(蓝)
for(int x=j;x<=n;x++)
for(int y=0;y<m;y++)
if(a[x][y]!='R')++sum;//(红)
if(sum<ans)ans=sum;
}
}
printf("%d",ans);
zwx code ;
return 0;
}