https://www.acmicpc.net/problem/1158
Queue란,
FIFO(First In First Out)
첫번째로 들어간 원소가 첫 번째로 나온다.
예를 들면,
유명한 카페 앞에 손님들이 아메리카노를 주문하고 대기하고 있다.
이때 가장 먼저 들어가 주문한 손님부터 차례대로 아메리카노를 받는다.
관련 함수#include <queue> : 전처리기 std::queue<Type> 변수명; : 선언 변수명.front() : 큐의 가장 앞에 원소를 리턴한다. 변수명.push(데이터) : 큐의 끝에 데이터를 집어 넣는다. 변수명.pop() : 큐의 가장 앞 원소를 꺼낸다.
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;
int num;
int k;
cin >> num >> k;
for(int i = 1; i <= num; i++)
{
q.push(i);
}
cout << "<";
while(num > 1)
{
for(int i = 0; i < k - 1; i++)
{
q.push(q.front());
q.pop();
}
cout << q.front() << ", ";
q.pop();
num--;
}
cout << q.front() << ">";
}