Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <algorithm>
- #include <fstream>
- #include <queue>
- using namespace std;
- ifstream in("input.txt");
- ofstream out("output.txt");
- int main()
- {
- int n;
- in >> n;
- string trash;//очистка буффера перед getline(иначе считается лишний пробел)
- getline(in, trash);
- queue<string> q;
- size_t maxSize = 0;
- for (int i = 0; i < n; ++i)
- {
- string s;
- getline(in, s);
- q.push(s);
- maxSize = max(maxSize, s.length());
- }
- queue<string> reverse_q;
- //создаем вспомогательную очередь, которая будет хранить
- //элементы, но в обратном порядке
- while (!q.empty())
- {
- string cur = q.front(); q.pop();
- if (cur.length() == maxSize)
- out << cur << endl;
- else
- reverse_q.push(cur);
- }
- while (!reverse_q.empty())//перевернем очередь, чтобы получить прямой порядок
- {
- string cur = reverse_q.front(); reverse_q.pop();
- q.push(cur);
- }
- while (!q.empty())
- {
- string cur = q.front(); q.pop();
- out << cur << endl;
- }
- /*
- пример входных данных
- 5
- Mario Beane 4 3 2
- Bavera Eldred 1 2 3
- Ahirlene Bode 3 2 1
- Neoma Boggs 3 2 1
- Cong Heston 5 5 5
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement