#include<iostream>
#include<string>
using namespace std;
const int maxn = (1 << 8) + 10;
int n, order[maxn];
string value;
char solve()
{
string tmp;
cin >> tmp;
int cnt = 0;
for (int i = n; i >= 1; --i)
{
if (tmp[order[n + 1 - i] - 1] == '1')
cnt += 1 << (i - 1);
}
return value[cnt];
}
int main()
{
//freopen("input.txt", "r", stdin);
int cas = 1;
while (cin >> n && n != 0)
{
for (int j = 1; j <= n; ++j)
{
string tmp;
cin >> tmp;
order[j] = tmp[1] - '0';
}
cin >> value;
int m;
cin >> m;
cout << "S-Tree #" << cas++ << ":" << endl;
for (int j = 0; j < m; ++j)
{
cout << solve();
}
cout << endl << endl;
}
}
紫书6-2,UVa712
最新推荐文章于 2024-06-16 22:31:26 发布