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;
}
 
目录
相关文章
|
7月前
【动态规划刷题 6】 删除并获得点数&& 粉刷房子
【动态规划刷题 6】 删除并获得点数&& 粉刷房子
|
1月前
|
缓存 人工智能 监控
AOP:让你的代码像超级英雄一样飞翔
AOP:让你的代码像超级英雄一样飞翔
|
8月前
多状态动态规划之粉刷房子
多状态动态规划之粉刷房子
|
12月前
|
消息中间件 缓存 负载均衡
SpringCloud 的25连环炮! 下
SpringCloud 的25连环炮! 下
|
12月前
|
消息中间件 负载均衡 JavaScript
SpringCloud 的25连环炮! 上
SpringCloud 的25连环炮!上
|
XML Java 数据格式
了解一点儿JavaConfig
Java 5 的推出,加上当年基于纯Java Annotation的依赖注入框架Guice的出现,使得Spring框架及其社区也“顺应民意”,推出并持续完善了基于Java代码和Annotation元信息的依赖关系绑定描述方式,即JavaConfig项目。
64 0
|
存储 测试技术

热门文章

最新文章