#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std;
const int len = 32;
const int maxn = 100000 + 10;
char s[maxn];
int buf[maxn], cnt;
int p = 0;
int shuchu[1000],pl=0;
// 把字符串s[p..]导出到以(r,c)为左上角,边长为w的缓冲区中
// 2 1
// 3 4
void draw(int n,int& p) {
char ch = s[p++];
if(ch == 'p') {
if(buf[n]!=2){ buf[n] = 1; }
draw(4*n+1,p); // 1
draw(4*n+2,p); // 2
draw(4*n+3,p); // 3
draw(4*n+4,p); // 4
}
else if(ch == 'f') { // 画黑像素(白像素不画)
buf[n] = 2;
}
}
void dfs(int i,int g) {
for (int j = 1; j <= 4; j++) {
if (buf[4 * i + j] == 0) { continue; }
else if (buf[4 * i + j] == 2) { cnt += pow(4, 5 - g); }
else {
dfs(4 * i + j,g+1);
}
}
}
int main() {
int T;
scanf_s("%d", &T,1);
while(T--) {
memset(buf, 0, sizeof(buf));
cnt = 0;
for(int i = 0; i < 2; i++) {
scanf_s("%s", s,1400);
p = 0;
draw(0,p);
}
if (buf[0] == 1)dfs(0, 1);
else if (buf[0] == 0)cnt += 0;
else cnt += 1024;
shuchu[pl++] = cnt;
//printf("%dThere are %d black pixels.\n",pl, cnt);
}
for (int i = 0; i < pl; i++) {
printf("There are %d black pixels.\n", shuchu[i]);
}
return 0;
}
udebug全部样例都过了,怎么一直ue啊,快来个高手帮我看看