#include<stdio.h>
#include<string.h>
int varpos[10];
int res[1<<7+10];
int route[10];
int main()
{
//
freopen("input.txt","r",stdin);
int n;
int count = 1;
char var[5];
while(scanf("%d",&n)==1 && n)
{
printf("S-Tree #%d:\n", count++);
for(int i = 0; i < n;i++)
{
scanf("%s", var);
varpos[var[1]-'0'] = i;
}
getchar();
for(int i = 0; i < 1<<n; i++)
{
res[i] = getchar()-'0';
}
int m;
scanf("%d",&m);
getchar();
for(int i = 0; i < m; i++)
{
for(int j = 1; j <= n;j++)
{
route[varpos[j] ] =getchar()-'0';
}
getchar();
int k=1;
for(int j = 0; j < n;j++)
{
if(!route[j]) k = k*2;
else k=k*2+1;
}
printf("%d",res[k-(1<<n)]);
}
putchar('\n');
putchar('\n');
}
}
712UVa简单题S树
最新推荐文章于 2019-03-29 22:30:37 发布