牛客竞赛算法入门题单打卡 M younik要排队

链接:登录—专业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();
}

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值