分数

David666 2024-01-06 13:47:55

#include

#include

#include

#include

#include

using namespace std;

int x[105000],y[105000];

int s(string a){

if(a.size()==1) return int(a[0]);

string a1=a.substr(0,a.size()/3);

string a2=a.substr(a.size()/3,a.size()/3);

string a3=a.substr(a.size()/3*2,a.size()/3);

return ~(s(a1)|(s(a2)^s(a3)));

}

int main() {

string a;

int b;

cin >> b;

for(int i=1;i<=b;i++) {

    cin >> a;

    int n=s(a);

    if(n>=0) x[n]++;

    else y[-n]++;

}

int c;

cin >> c;

for(int i=1;i<=c;i++) {

    cin >> a;

    int m=s(a);

    if(m>=0) cout << x[m] << endl;

    else cout << y[-m] << endl;

}

}