Решение задачи Репосты с Codeforces

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


Однажды Поликарп опубликовал в социальной сети смешную картинку с опросом про цвет своего хэндла. Многие из его друзей стали репостить шутку Поликарпа себе в ленту. Некоторые из них репостили репосты и так далее.

Эти события заданы в виде последовательности строк «name1 reposted name2» где name1 — это имя того, кто репостнул, а name2 — имя того, с чей ленты репостнули шутку. Гарантируется, что для каждой строки «name1 reposted name2» пользователь «name1» еще не имел эту шутку в свой ленте, а «name2» уже имел ее в своей ленте к моменту репоста. Поликарп зарегистрирован под именем «Polycarp», и изначально шутка есть только в его ленте.

Поликарп измеряет успешность шутки как длину наибольшей цепочки репостов. Выведите успешность шутки Поликарпа.

Код

#include<bits/stdc++.h>
using namespace std;
map<string,int>l;
int main(){
	int n,ans=1;
	string a,b,c;
	l["polycarp"]=1;
	cin>>n;
	while(n--){
		cin>>a>>b>>c;
		transform(a.begin(),a.end(),a.begin(),::tolower);
		transform(c.begin(),c.end(),c.begin(),::tolower);
		l[a]=l[c]+1;ans=max(l[a],ans);
	}
	cout<<ans<<endl;
	return 0;
}

         

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



Комментарии

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