http://poj.org/problem?id=2403
题意:就是给你m个单词,以及n段对话。每一个单词都有所对应的价值。求对话中的价值总和
题解:很简单,就是用单词和价值对应起来,然后再寻找就可以了。
我用的是STL里的map,不用Map的话,结构体也行。只是用Map比较方便而已、
1 #include <string.h> 2 #include <string> 3 #include <map> 4 #include <iostream> 5 #include <stdio.h> 6 7 8 using namespace std; 9 10 map<string,int>s; 11 12 int m,n; 13 14 int main() 15 { 16 string tmp;int num; 17 scanf("%d%d",&m,&n); 18 for(int i=0;i<m;i++){ 19 cin>>tmp>>num; 20 s[tmp]=num; 21 } 22 for(int i=0;i<n;i++){ 23 int ans=0; 24 while(cin>>tmp,tmp!="."){ 25 if(s.count(tmp)) //这个count是看tmp是否存在这个map中 26 ans+=s[tmp]; 27 } 28 printf("%d ",ans); 29 } 30 return 0; 31 }