unordered_map的简介
unordered_map是一种容器,可以把字符串当做数字,可以使用[]操作符来访问key值对应的值。
格式:
unordered_map<要被转换的类型,转换的类型> 变量名{{要被转换的数或字符,转换的数或字符}}//两个大括号是初始化,注意字符串要加双引号
练习
[蓝桥省赛2021]垃圾分类
这道题用unordered_map打表就可以了(不是很长)
#include <bits/stdc++.h>
using namespace std;
unordered_map<string,string> d{{"leaves","FOOD WASTE"},{"watermelon peel","FOOD WASTE"},{"leftovers","FOOD WASTE"},{"paper box","RECYCLABLE"},{"plastic bottle","RECYCLABLE"},{"clothes","RECYCLABLE"},{"rechargeable battery","HAZARDOUS"},{"abandoned medicine","HAZARDOUS"},{"disinfectant","HAZARDOUS"},{"mask","RESIDUAL WASTE"},{"battery","RESIDUAL WASTE"},{"plastic bag","RESIDUAL WASTE"}};
unordered_map<string,int> e;
int a[100010];
int main()
{
int n,maxx=0;
string s,g;
cin>>n;
getline(cin,s);
for(int i=1;i<=n;i++)
{
getline(cin,s);
e[d[s]]++;
if(e[d[s]]>maxx)
{
maxx=e[d[s]];
g=d[s];
}
}
cout<<g<<endl<<maxx;
return 0;
}