题目地址:http://jobdu.sinaapp.com/problem.php?pid=1029
C语言源码:
#include<stdio.h>
#include<string.h>
typedef struct code
{
char zhou[110];
char fuc[110];
}code;
code c[100010];
int main()
{
int top,i,n,j,k;
char s[100];
top=0;
gets(c[top++].zhou);
while(strcmp(c[top-1].zhou,"@END@")!=0)
{
i=0;
while(c[top-1].zhou[i]!=']')
i++;
i=i+2;
k=i;
j=0;
while(c[top-1].zhou[i]!='\0')
c[top-1].fuc[j++]=c[top-1].zhou[i++];
c[top-1].fuc[j]='\0';
c[top-1].zhou[k-1]='\0';
gets(c[top++].zhou);
}
top--;
scanf("%d",&n);
getchar();
while(n--)
{
gets(s);
if(s[0]=='[')
{
i=0;
while(i<top&&strcmp(c[i].zhou,s)!=0)
i++;
if(i<top)
printf("%s\n",c[i].fuc);
else
printf("what?\n");
}
else
{
i=0;
while(i<top&&strcmp(c[i].fuc,s)!=0)
i++;
if(i<top)
{
j=1;
while(c[i].zhou[j]!=']')
printf("%c",c[i].zhou[j++]);
printf("\n");
}
else
printf("what?\n");
}
}
}