题目链接:http://codeforces.com/problemset/problem/389/B
题目大意:给你一个n*n的方形板块,在上面铺上且只能铺”.“、"#"两只中的一种或两种,要你在上面把”#“全部用上,组合成十字,用过的”#“不能再用。‘’
题目简单易懂,直接搜索就好了。
#include<cstdio>
using namespace std;
char ch[105][105];
int n;
int main(void)
{
int i,j;
scanf("%d", &n);
for(i=0; i<n; ++i)
scanf("%s", &ch[i]);
for(i=0; i<n; ++i)
for(j=0; j<n; ++j)
{
if(ch[i][j]=='#')
{
if(ch[i+1][j-1]=='#' && ch[i+1][j+1]=='#' &&
ch[i+1][j]=='#' && ch[i+2][j]=='#')
{
ch[i+1][j-1]='.';
ch[i+1][j+1]='.';
ch[i+1][j]='.';
ch[i+2][j]='.';
}
else
{
printf("NO\n");
return 0;
}
}
}
printf("YES\n");
return 0;
}