超市map

map

C++用来存储字典关系的东西,map是最好的

#include <bits/stdc++.h> 
using namespace std;
/*
小朱最喜欢逛超市了,他会将要买的东西和买的数量用小本本记起来,
你偷偷拿走了他的小本本,并算出他一共花了多少钱?
当然,小朱很聪明,对于相同的物品,他会优先买便宜的。

先输入一个数字N,表示各个超市的总商品数,接下来输入N行,
每行一个字符串和一个数字,分别表示商品名称以及其价格,
(注意 因为来自不同的超市,商品可能存在名称相同,但价格不同的情况),
接下来输入一个数字K,表示小本本上记录的行数,接下来输入K行,
每行一个字符串和一个数字,表示要买的商品以及数量,问小朱花了多少钱?(假设商品供应充足)
*/

int N; //表示各个超市的总商品数 
int K; //表示小本本上记录的行数 
int sum = 0; //总钱数 
map<string,int> price; //价格map 


int main(){
	ios::sync_with_stdio(0);
	
	cin>>N; 
	
	for(int i=0; i < N; i++) {
		string str;
		int money ; 
		cin>>str>>money;
		//第一个条件map默认是0,第二个条件如果有更便宜的换掉价格
		if(price[str]==0 || price[str]>money) {
			price[str]=money;
		}
		
	}
	cin>>K;
	for(int j=0; j < K; j++) {
		string str2;
		int value;
		cin>>str2>>value;
		sum+=price[str2]*value;
	}
	cout<<sum<<endl;
	return 0; 
}                   
                     

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码码搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值