没有发现x1,x2是干什么用的,不过我发现直接把二进制转成十进制就可以ac掉了
AC代码
Time 0ms
#include<cstdio> #include<cmath> #include<cstring> using namespace std; const int maxn=256+10; char buf[maxn]; int leap[maxn],n,q; void build() { int len=strlen(buf); for(int i=0;i<len;i++) leap[i]=buf[i]-'0'; } void print() { int pos=0; for(int i=0;i<strlen(buf);i++) pos=pos*2+(buf[i]-'0'); printf("%d",leap[pos]); } int main() { int T=0; while(scanf("%d",&n)==1 && n) { getchar(); gets(buf); scanf("%s",buf); build(); scanf("%d",&q); printf("S-Tree #%d:\n",++T); while(q--) { scanf("%s",buf); print(); } printf("\n\n"); } return 0; }