Description
首先给出一字典,字典上每个单词有一个对应的键值,然后给出一段信息,让你输出这段信息的总键值,字典上没有出现过的单词键值为0
Input
第一行两个整数m和n,分别表示字典中单词个数和查询信息的条数,之后m行每行一个字符串和一个整数表示单词和其键值,然后是两段信息,每段信息以‘.’结束输入
Output
对于每段信息,输出其键值
Sample Input
7 2
administer 100000
spending 200000
manage 50000
responsibility 25000
expertise 100
skill 50
money 75000
the incumbent will administer the spending of kindergarden milk money
and exercise responsibility for making change he or she will share
responsibility for the task of managing the money with the assistant
whose skill and expertise shall ensure the successful spending exercise
.
this individual must have the skill to perform a heart transplant and
expertise in rocket science
.
Sample Output
700150
150
Solution
简单的字符串匹配
Code
#include <iostream>
#include <string>
using namespace std;
struct word
{
int date;//键值
string a;//单词
}w[10000];
int main()
{
int m,n,i;
cin>>m>>n;
for (i=0;i<m;i++)
cin>>w[i].a>>w[i].date;
while(n--)
{
string ch,c;
int sum=0;
c=".";//信息输入结束条件
while(cin>>ch&&ch!=c)
{
for(i=0;i<m;i++)
if(ch==w[i].a)
sum+=w[i].date;
}
cout<<sum<<endl;
}
return 0;
}