Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <string>
- #include <algorithm>
- #include <vector>
- using namespace std;
- struct nam
- {
- string name[3];
- };
- struct is
- {
- int n, d;
- };
- bool d(is p1, is p2)
- {
- return p1.n < p2.n;
- }
- string bigger(string one, string two)
- {
- if (one < two)
- return one;
- else
- return two;
- }
- int main()
- {
- vector <nam> Team;
- vector <string> answer;
- int n, s;
- nam prom;
- string promname;
- bool what = false;
- vector <int> m;
- cin >> n;
- for (int i = 1; i <= n; i++)
- {
- cin >> prom.name[0] >> prom.name[1] >> prom.name[2];
- Team.push_back(prom);
- }
- for (int i = 0; i < n; i++)
- {
- cin >> s;
- m.push_back(s);
- }
- answer.push_back(bigger(Team[m[0]-1].name[0], bigger(Team[m[0] - 1].name[1], Team[m[0] - 1].name[2])));
- promname = answer[0];
- for (int i = 1; i < n; i++)
- {
- if (promname < Team[m[i] - 1].name[0])
- if (promname < Team[m[i] - 1].name[1])
- if (promname < Team[m[i] - 1].name[2])
- {
- promname = bigger(Team[m[i] - 1].name[0], bigger(Team[m[i] - 1].name[1], Team[m[i] - 1].name[2]));
- answer.push_back(promname);
- }
- else
- {
- promname = bigger(Team[m[i] - 1].name[0], Team[m[i] - 1].name[1]);
- answer.push_back(promname);
- }
- else
- if (promname < Team[m[i] - 1].name[2])
- {
- promname = bigger(Team[m[i] - 1].name[0], Team[m[i] - 1].name[2]);
- answer.push_back(promname);
- }
- else
- {
- promname = Team[m[i] - 1].name[0];
- answer.push_back(promname);
- }
- else
- if (promname < Team[m[i] - 1].name[1])
- if (promname < Team[m[i] - 1].name[2])
- {
- promname = bigger(Team[m[i] - 1].name[1], Team[m[i] - 1].name[2]);
- answer.push_back(promname);
- }
- else
- {
- promname = Team[m[i] - 1].name[1];
- answer.push_back(promname);
- }
- else
- if (promname < Team[m[i] - 1].name[2])
- {
- promname = Team[m[i] - 1].name[2];
- answer.push_back(promname);
- }
- else
- {
- cout << "IMPOSSIBLE";
- what = true;
- break;
- }
- }
- if(what==false)
- for (auto i = answer.begin(); i != answer.end(); i++)
- {
- cout << *i << endl;
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment