#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int len = 32;
const int maxn = 1024 + 6;
int buff[len][len], count;
char s[maxn];
void fun(char *str, int& pos, int r, int c, int w)
{
char ss = str[pos++];
if(ss == 'p')
{
fun(str, pos, r, c + w / 2, w / 2); //1
fun(str, pos, r, c, w / 2); //2
fun(str, pos, r + w / 2, c, w / 2); //3
fun(str, pos, r + w / 2, c + w / 2, w / 2);//4
} else if(ss == 'f')
{
for(int i = r; i < r + w; i++)
for(int j = c; j < c + w; j++)
if(buff[i][j] == 0)
{
buff[i][j] = 1;
count++;
}
}
}
int main()
{
int m;
cin >> m;
while(m--)
{
memset(buff, 0, sizeof(buff));
count = 0;
for(int i = 0; i < 2; i++)
{
scanf("%s", s);
int p = 0;
fun(s, p, 0, 0, len);
}
printf("There are %d black pixels.\n", count);
}
return 0;
}
Uva297——Quadtrees
最新推荐文章于 2019-02-17 15:55:38 发布