分数

David666 2024-01-06 13:45:24

#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; }

}