Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Person {
- public:
- void ChangeFirstName(int year, const string& first_name) {
- // добавить факт изменения имени на first_name в год year
- years_names.insert(year);
- name[year] = first_name;
- }
- void ChangeLastName(int year, const string& last_name) {
- // добавить факт изменения фамилии на last_name в год year
- years_surnames.insert(year);
- surname[year] = last_name;
- }
- string GetFullName(int year) {
- // получить имя и фамилию по состоянию на конец года year
- int tmp = -10000, tmp2 = -10000;
- for (const auto& i : years_names) {
- if (year >= i)
- tmp = i;
- }
- for (const auto& i : years_surnames) {
- if (year >= i)
- tmp2 = i;
- }
- if (tmp == -10000 && tmp2 - 10000)
- return "Incognito";
- else if (tmp != -10000 && tmp2 == -10000)
- return name[tmp] + " with unknown last name";
- else if (tmp2 != -10000 && tmp == -10000)
- return surname[tmp2] + " with unknown first name";
- else
- return name[tmp] + " " + surname[tmp2];
- }
- private:
- set<int> years_names;
- set<int> years_surnames;
- map <int, string> name;
- map <int, string> surname;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement