poj1656

简单题

View Code
   
     
#include < iostream >
#include
< cstdlib >
#include
< cstring >
#include
< cstdio >
using namespace std;

#define maxn 105

bool map[maxn][maxn];

int test( int x, int y, int l)
{
int ans = 0 ;

for ( int i = x; i < x + l; i ++ )
for ( int j = y; j < y + l; j ++ )
if (map[i][j])
ans
++ ;
return ans;
}

void work( int x, int y, int l, int color)
{
for ( int i = x; i < x + l; i ++ )
for ( int j = y; j < y + l; j ++ )
map[i][j]
= color;
}


int main()
{
// freopen("D:\\t.txt", "r", stdin);
int t;
memset(map,
0 , sizeof (map));
scanf(
" %d " , & t);
while (t -- )
{
char st[ 10 ];
int x, y, l;
scanf(
" %s%d%d%d " , st, & x, & y, & l);
if (strcmp(st, " TEST " ) == 0 )
{
printf(
" %d\n " , test(x, y, l));
continue ;
}
int temp;
if (strcmp(st, " BLACK " ) == 0 )
temp
= 1 ;
else
temp
= 0 ;
work(x, y, l, temp);
}
return 0 ;
}

你可能感兴趣的:(poj)