#include <iostream>
#include <string>
#include <map>
struct Pociag
{
std::string skad;
std::string dokad;
};
class Dworzec
{
public:
Dworzec(std::string const& opis) : opis_(opis) {}
void dodajPociag(std::string const& czas, Pociag const& pociag);
void wypisz_pociagi();
private:
std::string opis_;
std::multimap<std::string, Pociag> pociagi_;
};
void Dworzec::dodajPociag(std::string const& czas, Pociag const& pociag)
{
pociagi_.insert({czas, pociag});
}
void Dworzec::wypisz_pociagi()
{
std::cout << "Dworzec: " << opis_ << std::endl;
for(auto const& e : pociagi_) {
std::cout << e.first << " Relacja: " << e.second.skad
<< " -> " << e.second.dokad << std::endl;
}
}
int main()
{
Dworzec d("Warszawa Zachodnia");
d.dodajPociag("16:45", { "Szczecin Glowny", "Radom Glowny"});
d.dodajPociag("08:23", { "Gdynia", "Krakow Plaszow"});
d.dodajPociag("10:56", { "Poznan Glowny", "Warszawa Centralna"});
d.dodajPociag("21:17", { "Wroclaw Glowny", "Suwalki"});
d.wypisz_pociagi();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgoKc3RydWN0IFBvY2lhZwp7CglzdGQ6OnN0cmluZyBza2FkOwoKCXN0ZDo6c3RyaW5nIGRva2FkOwp9OwoKY2xhc3MgRHdvcnplYwp7CnB1YmxpYzoKCUR3b3J6ZWMoc3RkOjpzdHJpbmcgY29uc3QmIG9waXMpIDogb3Bpc18ob3Bpcykge30KCgl2b2lkIGRvZGFqUG9jaWFnKHN0ZDo6c3RyaW5nIGNvbnN0JiBjemFzLCBQb2NpYWcgY29uc3QmIHBvY2lhZyk7CgoJdm9pZCB3eXBpc3pfcG9jaWFnaSgpOwpwcml2YXRlOgoJc3RkOjpzdHJpbmcgb3Bpc187CgoJc3RkOjptdWx0aW1hcDxzdGQ6OnN0cmluZywgUG9jaWFnPiBwb2NpYWdpXzsKfTsKCnZvaWQgRHdvcnplYzo6ZG9kYWpQb2NpYWcoc3RkOjpzdHJpbmcgY29uc3QmIGN6YXMsIFBvY2lhZyBjb25zdCYgcG9jaWFnKQp7Cglwb2NpYWdpXy5pbnNlcnQoe2N6YXMsIHBvY2lhZ30pOwp9Cgp2b2lkIER3b3J6ZWM6Ond5cGlzel9wb2NpYWdpKCkKewoJc3RkOjpjb3V0IDw8ICJEd29yemVjOiAiIDw8IG9waXNfIDw8IHN0ZDo6ZW5kbDsKCWZvcihhdXRvIGNvbnN0JiBlIDogcG9jaWFnaV8pIHsKCQlzdGQ6OmNvdXQgPDwgZS5maXJzdCA8PCAiIFJlbGFjamE6ICIgPDwgZS5zZWNvbmQuc2thZAoJCQkJICA8PCAiIC0+ICIgPDwgZS5zZWNvbmQuZG9rYWQgPDwgc3RkOjplbmRsOwoJfQp9CgppbnQgbWFpbigpCnsKCUR3b3J6ZWMgZCgiV2Fyc3phd2EgWmFjaG9kbmlhIik7CglkLmRvZGFqUG9jaWFnKCIxNjo0NSIsIHsgIlN6Y3plY2luIEdsb3dueSIsICJSYWRvbSBHbG93bnkifSk7CglkLmRvZGFqUG9jaWFnKCIwODoyMyIsIHsgIkdkeW5pYSIsICJLcmFrb3cgUGxhc3pvdyJ9KTsKCWQuZG9kYWpQb2NpYWcoIjEwOjU2IiwgeyAiUG96bmFuIEdsb3dueSIsICJXYXJzemF3YSBDZW50cmFsbmEifSk7CglkLmRvZGFqUG9jaWFnKCIyMToxNyIsIHsgIldyb2NsYXcgR2xvd255IiwgIlN1d2Fsa2kifSk7CgoJZC53eXBpc3pfcG9jaWFnaSgpOwoKCXJldHVybiAwOwp9Cg==