牛客网题目分析

题目描述:

牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。

输入描述:

每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。

输出描述:

  输出一行一个数字表示完成所有料理需要多少种不同的材料。

输入示例:

BUTTER FLOUR
HONEY FLOUR EGG

输出示例

4

c++代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
    vector<string> str;//初始化一个存储字符串的向量,用于存储所有配料名称
    string strr;//定义一个string变量
    cin>>strr;//首先获取输入行的第一个配料名称
    cin.get();//把输入流中的下一个空格/换行字符读取
    str.push_back(strr);将获取的第一个配料名称存入向量中
    int k = 1;定义一个变量用于记录配料的种类数,因为已经向向量中放入了一种配料名称,所以k初始化为1

//通过循环来不断的向向量中存入新的物料名称,循环的依据就是每一次从输入流中得到一种配料名称之后

//然后通过循环判断目前的向量中是否有这种配料名称,如果有的话,直接跳出循环,如果没有,就把这种原料添加进来
    while(cin>>strr){
        for(int i=0;i<str.size();i++){
            if(str[i]==strr){
                break;
            }
            else if(str[i]!=strr && i==str.size()-1){
                str.push_back(strr);
                k +=1;
            }
        }
        cin.get();
    }
    cout<<k;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值