UVA 712 S-Trees
程序员文章站
2022-03-14 19:37:14
...
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int n,t,Case=1,num;
while ( scanf ("%d",&n)&&n)
{
int k=0;
num= 2<<(n-1) ;
char leaf[260]={0};//叶子结点
char a[3];
char query[12]={0};//查询的序列
char res[1000]={0};//结果
int b[12]={0};//对应层数的Xi
for (int i=1;i<=n;i++)
{
scanf ("%s",a);
b[i]=a[1]-'0';
}
scanf ("%s",leaf);
scanf ("%d",&t);
for (int i=0;i<t;i++)
{
scanf ("%s",query);
int x=1;
for (int j=1;j<=n;j++)
{
if (query[b[j]-1]-'0'==0)
x=x*2;
else if (query[b[j]-1]-'0'==1)
x=x*2+1;
}
res[k]=leaf[x-num];
k++;
memset(query,0,sizeof(query));
}
res[k]=0;
printf("S-Tree #%d:\n",Case); Case++;
printf ("%s\n\n",res);
}
return 0;
}
/*
4
x4 x2 x3 x1
0101010101010101
5
0101
1010
1111
0000
0001
*/
上一篇: 算法竞赛入门经典 习题2-6 排列
下一篇: UVA10881
推荐阅读
-
都是65W单口充电器 小米AD651与紫米HA712有什么不同?
-
四摄迅猛龙 全新系列realme Q宣布:搭载骁龙712
-
团体队列 UVA540 Team Queue
-
丑数(Ugly Numbers, UVa 136)
-
realme 5 Pro发布:骁龙712+4800万AI四摄
-
骁龙712+UFS 2.1+索尼4800万 realme Q即将发布
-
realme Q开启预售:骁龙712+索尼4800万四摄 998元送碎屏保
-
HP LaserJet M712打印机怎么设置自动双面打印?
-
HP LaserJet M712打印机怎么打印小册子?
-
破损的键盘(悲剧文本)(Broken Keyboard(a.k.a. Beiju Text),Uva 11988)