A30958. 垃圾分类据香港《南华早报》7月15日文章,上海严格的垃圾分类新规令不少居民抓狂。这催生出大量帮助找出正确分类答案的App和小程序。目前仅微信上就至少有280种与垃圾处理有关的App,在苹果应用商店也达130种。支付宝表示,已有60多家独立App开发商申请为该平台提供类似服务。本题就请你现场实现一个简单的垃圾分类小助手。输入输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数 N(≤ …
填空题
较易
知识点
题目描述
垃圾分类
据香港《南华早报》7月15日文章,上海严格的垃圾分类新规令不少居民抓狂。这催生出大量帮助找出正确分类答案的App和小程序。目前仅微信上就至少有280种与垃圾处理有关的App,在苹果应用商店也达130种。支付宝表示,已有60多家独立App开发商申请为该平台提供类似服务。
本题就请你现场实现一个简单的垃圾分类小助手。
输入
输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数 N(≤ 100000),即物品数量;随后 N 行,每行给出一个物品名称(长度不超过 10 的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾)。题目保证所有物品名称无重复。 随后每行给出一个查询物品的名称(格式与指南物品名称相同)。最后一行给出结束符 `#`,表示查询终止,这一行不需要查询。(查询的数量 ≤ 100000个)
输出
对每个查询的物品,在一行中给出其所属分类:`Gan laji` 代表干垃圾;`Shi laji` 代表湿垃圾;`Ke Hui Shou` 代表可回收物;`You Hai laji` 代表有害垃圾。如果查询的物品不在指南中,则输出 `?` 表示不知道。
样例输入
4
bao_zhi 3
dian_chi 4
dan_ke 2
bei_ke 1
dan_ke
dian_chi
ren_zha
bao_zhi
bei_ke样例输出
Shi laji
You Hai laji
?
Ke Hui Shou
Gan laji参考答案
#include<iostream>
using namespace std;
struct node { //垃圾结构体
string name; //垃圾名字
int type; //垃圾类型
};
int main() {
node laji[100005];
int n;
cin>>n;
for(int i=0; i<n; i++) { //输入
cin>>laji[i].name>>laji[i].type;
}
string s;
cin>>s;
while(s!="#") { //输入#结束
int i;
for(i=0; i<n; i++) {
if(laji[i].name==s){ //找到了
switch(laji[i].type){
case 1: cout<<"Gan laji"<<endl; break;
case 2: cout<<"Shi laji"<<endl; break;
case 3: cout<<"Ke Hui Shou"<<endl; break;
case 4: cout<<"You Hai laji"<<endl; break;
}
break; //结束当前查找
}
}
//正常结束,即为没找到
if(i==n) cout<<"?"<<endl;
cin>>s;
}
return 0;
}
上一题
下一题