您的位置:首页 > 其它

UVA 712 S-Trees

2011-12-28 22:11 429 查看
UVA_712

模拟题目所说的即可。

#include<stdio.h>
#include<string.h>
#define MAXD 200
int N, M, g[10], a[10];
char b[10], d[MAXD];
void solve()
{
int i, j, k;
for(i = 1; i <= N; i ++)
{
scanf("%s", b);
sscanf(b + 1, "%d", &k);
g[k] = i;
}
scanf("%s", d);
scanf("%d", &M);
for(i = 0; i < M; i ++)
{
scanf("%s", b + 1);
for(j = 1; j <= N; j ++)
a[g[j]] = b[j] - '0';
for(k = 1, j = 1; j <= N; j ++)
{
if(a[j])
k = (k << 1) + 1;
else
k <<= 1;
}
k -= (1 << N);
printf("%c", d[k]);
}
printf("\n");
}
int main()
{
int t = 0;
for(;;)
{
scanf("%d", &N);
if(!N)
break;
printf("S-Tree #%d:\n", ++ t);
solve();
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: