nefu 984 我是一个粉刷匠

简介:


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

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;
}

目录
相关文章
|
6月前
|
缓存 人工智能 监控
AOP:让你的代码像超级英雄一样飞翔
AOP:让你的代码像超级英雄一样飞翔
|
6月前
|
Java
SpringAop切面编程(一看就会用)
SpringAop切面编程(一看就会用)
24 0
|
XML 开发框架 Java
浅识SpringIOC
浅识SpringIOC
94 0
多状态动态规划之粉刷房子
多状态动态规划之粉刷房子