欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UVA712 S树 S-Trees

程序员文章站 2022-03-01 18:44:38
...
  • 无需建树,直接定位;
  • 变量行无用;
  • 另外,getline而入一行后不需要用getchar()读掉末尾的换行符,否则下一行字符串还是会丢失一位,可以理解为getline读入了换行符且作为了结束标志。
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int n,q,ans,k;
char s3[500005],c,s2[500005];
int main()
{
	string s1;
	while(scanf("%d",&n)&&n)
	{
		getchar();
		getline(cin,s1);
		scanf("%s",s2);
		cin>>q;
		getchar();
		for(int i=1;i<=q;i++)
		{
			ans=0;
			for(int j=1;j<=n;j++)
			{
				c=getchar();
				if(c=='0') ans-=(1<<(n-j));
			}
			ans+=(1<<n);
			s3[i]=s2[ans-1];
			getchar();
		}
		cout<<"S-Tree #"<<++k<<":"<<endl;
		for(int i=1;i<=q;i++)
		putchar(s3[i]);
		cout<<endl<<endl;
	}
 } 
相关标签: UVA Basic Practice