数黑格有多少个,模拟题,POJ(1656)

题目链接:http://poj.org/problem?id=1656

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

using namespace std;

int maps[105][105];

int main()
{
    int t;
    scanf("%d",&t);
    memset(maps,0,sizeof(maps));

    while(t--)
    {
        char order[20];
        scanf("%s",order);
        int x,y,l;
        scanf("%d%d%d",&x,&y,&l);

        if(!strcmp(order,"BLACK"))
        {
            for(int i=x;i<=x+l-1;i++)
            {
                for(int j=y;j<=y+l-1;j++)
                    maps[i][j]=1;
            }
        }

        if(!strcmp(order,"WHITE"))
        {
            for(int i=x;i<=x+l-1;i++)
            {
                for(int j=y;j<=y+l-1;j++)
                    maps[i][j]=0;
            }
        }

        if(!strcmp(order,"TEST"))
        {
            int ans=0;
            for(int i=x;i<=x+l-1;i++)
            {
                for(int j=y;j<=y+l-1;j++)
                    if(maps[i][j]==1)
                    ans++;
            }
            printf("%d
",ans);
        }

    }
    return 0;
}
原文地址:https://www.cnblogs.com/TreeDream/p/5601744.html