codeforce 7A. Kalevitch and Chess(粉刷)

题目:http://codeforces.com/problemset/problem/7/A

第一次做这题时一阵瞎敲(当时题目的大意是一个粉刷匠粉刷墙壁,但是并不影响问题原型),啥也不懂。后来训练时又遇上了,思路清晰多了。在墙上刷一次无论是横着的还是竖着的都具有”贯穿性“,即连续8个点全是B。那么在8*8的墙上统计所有行中B的数量,最小的就是列的粉刷数。同理,列上最小的B的数量就是粉刷行数,result=r+c。 最后有一个特殊案例,如果全都刷上了那么就是8而不是16.

#include <iostream>
#include<cstdio>
using namespace std;
char s[8][10];
int main()
{
    //freopen("cin.txt","r",stdin);
    while(cin>>s[0]){
        int i,j,ans1=8,ans2=8,ans;
        for(i=1;i<8;i++){
            scanf("%s",s[i]);
        }
        int a=0,b=0;
        for(i=0;i<8;i++){
            a=b=0;
            for(j=0;j<8;j++){
            if(s[i][j]=='B')a++;
            if(s[j][i]=='B')b++;
            }
            ans1=min(ans1,a);
            ans2=min(ans2,b);
        }
        ans=ans1+ans2;
        if(ans1==8&&ans2==8)ans=8;
        printf("%d\n",ans);
    }
    return 0;
}
啊,写完了才发现,没加头文件algorithm也能用min,这是怎么回事。。因为Win32头文件windef.h中,也定义了min和max?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值