题目链接:
http://codeforces.com/problemset/problem/7/A
题解:
直接暴力(因为这里的数据的范围比较小),特殊判断一下全部都是B的情况就行了。
代码:
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define met(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
typedef long long ll;
const int maxn = 8+10;
char map[maxn][maxn];
int main()
{
for(int i=0;i<8;i++)
cin>>map[i];
int cnt;
int ans=0;
for(int i=0;i<8;i++)
{
cnt=0;
for(int j=0;j<8;j++)
{
if(map[i][j]=='B')
cnt++;
}
if(cnt==8)
ans++;
}
for(int j=0;j<8;j++)
{
cnt=0;
for(int i=0;i<8;i++)
{
if(map[i][j]=='B')
cnt++;
}
if(cnt==8)
ans++;
}
if(ans==16)
ans/=2;
cout<<ans<<endl;
}
本文提供 CodeForces 7A 题目的解决方案,采用暴力搜索算法来解决问题,特别处理了所有元素为'B'的情况,并通过两重循环遍历二维数组进行计数。
852

被折叠的 条评论
为什么被折叠?



