Решение задачи Лекция с Codeforces

Без пояснения   Просмотров: 14


У вас новый преподаватель по теории графов и он очень быстро читает лекции. Чтобы успевать записывать, вы разработали следующий план.

Вы знаете два языка, причём преподаватель читает лекцию на первом из них. Слова обоих языков состоят из маленьких латинских символов. Каждый язык представляет собой некоторый набор слов. В каждом языке все слова различаются, т. е. записываются различным образом. Более того, между словами этих языков установлено взаимно-однозначное соответствие, то есть для каждого слова каждого языка в другом языке существует ровно одно слово, которое имеет такое же значение.

Каждое слово, сказанное преподавателем, вы можете написать либо на первом языке, либо на втором. Конечно, во время лекции каждое слово вы записываете на том языке, на котором данное слово записывается короче. В случае равенстве длин соответствующих слов вы отдаете предпочтение слову из первого языка.

Вам задан текст лекции, которую прочитает вам преподаватель. Определите, как описанная лекция будет записана вами в конспект.

Код

#include <bits/stdc++.h>
using namespace std;
 
int main() 
{
	int n,m;
	map <string,string> a;
	cin>>n>>m;
	string s,t;
	while(m--)
	{
		cin>>s>>t;
		a[s]=(t.size()<s.size()?t:s);
	}
	while(n--)
	{
		cin>>s;
		cout<<a[s]<<' ';
	}
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться