Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <vector>
- #include <queue>
- using namespace std;
- vector<queue<int>> vec;
- template <typename T>
- void PUSH(int que_num, T value, vector<queue<T>>& vec)
- {
- vec[que_num].push(value);
- }
- template <typename T>
- void TOP(int que_num, vector<queue<T>>& vec, ofstream& out)
- {
- out << vec[que_num].front() << endl;
- }
- template <typename T>
- void POP(int que_num, vector<queue<T>>& vec, ofstream& out)
- {
- T value = vec[que_num].front();
- vec[que_num].pop();
- out << value << endl;
- }
- int main()
- {
- ifstream in("input.txt");
- ofstream out("output.txt");
- int queuesNumber;
- cin >> queuesNumber;
- vector<queue<int>> vec(queuesNumber);
- int value;
- int requestsNumber;
- cin >> requestsNumber;
- string request;
- string funcName;
- int que_num;
- for (int i = 0; i < requestsNumber; ++i) {
- cin >> request;
- int i1 = 0, i2;PUSH(100,1)
- i2 = request.find('(') - 1;
- funcName = request.substr(i1, i2);
- if (funcName == "PUSH")
- {
- i1 = i2 + 2;
- i2 = request.find(',') - 1;
- que_num = atoi(request.substr(i1, i2).c_str());
- i1 = i2 + 2;
- i2 = request.find(')') - 1;
- value = atoi(request.substr(i1, i2).c_str());
- PUSH(que_num, value, vec);
- }
- else if (funcName == "TOP")
- {
- i1 = i2 + 2;
- i2 = request.find(')') - 1;
- que_num = atoi(request.substr(i1, i2).c_str());
- TOP(que_num, vec, out);
- }
- else if (funcName == "POP")
- {
- i1 = i2 + 2;
- i2 = request.find(')') - 1;
- que_num = atoi(request.substr(i1, i2).c_str());
- POP(que_num, vec, out);
- }
- i1 = 0;
- i2 = 0;
- }
- in.close();
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement