一、用O(1)的遍历16条行、列,判断是否全黑做,注意盘面全黑时只需8次而不是16次。
二、BFS(时间复杂度大概介于 O(nlogn)和O(n^2)之间,空间复杂度。。。)
#include "stdio.h"
#include "string.h"
int main(){
char chessboard[9][9];
int i,j,ans=0,flag;
for(i=0;i<=7;i++){
scanf("%s",&chessboard[i]);
}
for(i=0;i<=7;i++){
flag=1;
for(j=0;j<=7;j++)
if(chessboard[i][j]=='W'){
flag=0;
break;
}
if(flag)ans++;
flag=1;
for(j=0;j<=7;j++)
if(chessboard[j][i]=='W'){
flag=0;
break;
}
if(flag)ans++;
}
if(ans==16)ans=8;
printf("%d",ans);
return 0;
}