[补题] 2021华中师范大学程序设计新生赛

比赛链接:“菜鸟杯”华中师范大学程序设计新生赛(同步赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ

I.宝藏欲しい

思路:

存储词典时,用map实现从古语言到现代语言的映射。

因为输出时,若无法实现翻译应输出“-1”,所以可以将已经完成翻译的古语言存入队列,若中途出现词典以外的古语言就做一个标志,若能成功翻译就逐一输出队首。

代码实现:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 110;

int n;
map<string,string> m;

signed main()
{
	cin >> n;
	while(n--)
	{
		string a, b;
		cin >> a >> b;
		m[b] = a;
	}
	string s;
	queue<string> q;
	bool flag = 0;
	while(cin >> s)
	{
		if(m.count(s)) q.push(m[s]);
		else flag = 1;
	}
	if(flag) puts("-1");
	else
	{
		while(q.size())
		{
			printf("%s ", q.front().c_str());
			q.pop();
		}
	}

	return 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值