您的位置:首页 > 其它

pku 2403(MAP容器的使用)

2009-12-07 12:05 218 查看
给定N对字符串和数值的对应序列, 给出一篇短文,求出包含序列中字符串的值的总和。

首先输入string和int

用my_map[string]=int ;

将原先不存在于容器中的对象存入。

map.find(str) 查询元素的迭代器,若查询元素不在容器中,迭代器指向容器末尾。

若find操作返回迭代器不指向容器末尾,则将其值加入sum

输入短文以‘.’结尾 以空格隔开,所以不需要用getline 直接不断的读入单个单词即可。

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main(){
string str;
int n,m,t;
map<string,int> my_map;
map<string,int>::iterator it;
cin>>n>>m;
for(int i=0;i<n;++i){
cin>>str>>t;
my_map[str]=t;
}
for(int i=0;i<m;++i){
int sum=0;
while(cin>>str&&str!="."){
it=my_map.find(str);
if(it!=my_map.end())
sum=sum+it->second;
}
cout<<sum<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: