蓝桥杯 同学分组

题目:

题目描述

班级里面有2∗n位同学,姓名互不相同,将他们两两分组分成了n组。
现在告诉你n组同学的具体分组情况,请回答老师的q个问题。
每个问题给你一个字符串表示同学A的姓名,对于每个问题请你输出和他组队的同学名称。

输入格式

第一行为数字n和q(1≤n,q≤1000)
接下来输入n行,每行两个字符串s1,s2,表示姓名为s1的同学和名字为s2的同学是同一组。
接下来输入q行,每行一个字符串s,表示老师每次询问的学生姓名。
输出保证s是2n个学生中的姓名之一,并且这2n个学生的姓名互不相同,每位学生姓名字符串长度不超过10

输出格式

对于老师的每个问题输出一行,包含一个字符串表示和s组队的同学的姓名

输入样例 复制

3 2
Alice Bob
Matthew Sydney
Anna Ruby
Alice
Ruby

输出样例 复制

Bob
Anna

题意:

对应每个询问,输出同一组的同学

思路:

map版子题

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,q;
	cin>>n>>q;
    map<string,string>mp;
    for(int i=0;i<n;i++)
    {
    	string s1,s2;
    	cin>>s1>>s2;
    	mp[s1]=s2;
    	mp[s2]=s1;
    }
    for(int i=0;i<q;i++)
    {
    	string s3;
    	cin>>s3;
    	cout<<mp[s3]<<endl;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值