题意:做一个简单的字典
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1716
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
using namespace std;
string arp[30];
string s[105],s1,k[105];
string ans,wans;
string a[105];
int n;
bool judge(string c)
{
for(int i=0; i<n; i++)
{
if(c==s[i])
return true;
}
return false;
}
string link_s(string c)
{
for(int i=0; i<n; i++)
{
if(c==s[i])
return a[i];
}
return "";
}
int main()
{
char ch;
for(int i=0; i<26; i++)
{
cin>>ch>>arp[i];
}
cin>>n;
for(int i=0; i<n; i++)
{
cin>>a[i];
s[i].clear();
for(int j=0; j<(int)a[i].length(); j++)
{
s[i]+=arp[a[i][j]-'A'];
}
}
int m;
ans.clear(),wans.clear();
while(cin>>m,m)
{
ans.clear(),wans.clear();
bool flag=true;
for(int i=0; i<m; i++)
{
cin>>k[i];
if(judge(k[i]))
{
ans+=link_s(k[i]);
}
else
{
if(flag)
{
wans+=k[i];
wans+=" ";
}
flag=false;
}
if(i!=m-1) ans+=" ";
}
if(!flag)
{
cout << wans;
cout << "not in dictionary." << endl;
}
else cout << ans << endl;
}
return 0;
}