nefu 984 我是一个粉刷匠

  1. 云栖社区>
  2. 博客>
  3. 正文

nefu 984 我是一个粉刷匠

angel_imp 2015-04-17 22:34:00 浏览791
展开阅读全文


其实刚开始我也没想出来,后来看了其他大神的描述终于明白了,其实就是把每一行每一列遍历一遍。吐舌头

description


小明最近在粉刷墙壁,他家的墙壁正好贴了8*8块瓷砖,可惜这些瓷砖都是白色的,小明想把他其中一些刷成黑的,于是就把他家的的墙刷了一下。最后刷完了,小明想知道他至少刷了多少次才刷成如今这个模样。现在我们知道这面墙最后的样子,而且小明也记得他刷的时候每次都是刷了一整列或一整行的瓷砖(每块瓷砖可以被刷多次)。聪明的你能帮小明算算吗?

input


输入有8行每行8个字母

output


最少刷的次数

sample_input


WWWBWWBW
BBBBBBBB
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW

WWWWWWWW
BBBBBBBB
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW

sample_output


3
1





代码如下

using namespace std;
char st[10][10];
int main()
{
    while(cin>>st[0])
    {
        int sum=0,ans=0,a,b;
        for(int i=1;i<8;i++)
        cin>>st[i];
        for(int i=0;i<8;i++)
        for(int j=0;j<8;j++)
        if(st[i][j]=='B')
        ans++;
        if(ans==64)
        sum=8;
        else//遍历行和列
        {
            for(int i=0;i<8;i++)
            {
                a=0,b=0;
                for(int j=0;j<8;j++)
                {
                    if(st[i][j]=='B')
                    a++;
                    if(st[j][i]=='B')
                    b++;
                }
                if(a==8)
                sum++;
                if(b==8)
                sum++;
            }
        }
        cout<<sum<<endl;
    }
    return 0;
}

网友评论

登录后评论
0/500
评论
angel_imp
+ 关注