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

发布时间:2024年01月23日

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

文章来源:https://blog.csdn.net/2301_79821571/article/details/135772949
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。