链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
Younik挂好号之后,就去找医生了。但是她没想到,看医生居然也要排队!
于是younik可怜兮兮地站在大厅里,盯着墙上的显示屏,显示屏会不停地打出名字,如果一个人被叫到但没进去,显示屏可能会叫他很多次。
你能告诉younik她是第几个被叫到的人吗?
Ps.如果一个人被叫了两次,他还是一个人,不能算两个人。(题目数据范围为200)
输入描述:
第一行是一个正整数n,表示显示屏会叫几次。
接下来n行,每行都是一个名字。
输出描述:
一个正整数,表示younik是第几个被叫到的人。不需要换行。
示例1
输入
6 zhangsan lisi wangwu lisi younik liliu
输出
4
思路
根据题目每个人只算一次的特点可以想到用set解决。我开了两个set,先用第一个set容器输入,当输入为“younik”时换用第二个set容器接收剩余的名字,第一个set的元素个数即为答案
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;set<string>s;set<string>sy;int i;string temp;for(i=0;i<n;i++){cin>>temp;if(temp=="younik"){s.insert(temp);break;}else s.insert(temp);}for(i;i<n;i++){cin>>temp;sy.insert(temp);}cout<<s.size();
}