CodeForces #176(Div.2)-A

题意:在4 x 4的正方形中,#表示黑色,. 表示白色,在一个已知的有黑白两色的正方形中,要求只重新涂改一个方格,使得能够形成2 x 2的颜色相同的正方形。

分析:只要在任意的2 x 2中,黑色的个数为0,1,3,4任意一个就能成立。

AC代码:

#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

int main()
{
    char map[11][11];
    int f=0,i,j,h,k,b;
    for(i=1; i<=4; ++i)
        for(j=1; j<=4; ++j)
            scanf("%c", &map[i][j]);
    for(i=1; i<=3; ++i)
        for(j=1; j<=3; ++j)
        {
            b = 0;
            for(h=0; h<=1; ++h)
                for(k=0; k<=1; ++k)
                    if(map[i+h][j+k]=='#')
                        ++b;
            if(b>=3 || b<=1)
                f = 1;
        }
    if(!f)
        printf("NO\n");
    else
        printf("YES\n");
    return 0;
}


 

 

 

你可能感兴趣的:(CodeForces #176(Div.2)-A)