※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 27659번 문제인 Queue skipping (Easy)이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/27659 

 

27659번: Queue skipping (Easy)

Recently there was a rumor that on Monday the meat store will actually have some meat. It’s Monday, half past one in the morning. The entire town is already waiting for the store to open. More precisely, there are n people waiting in a line. The people a

www.acmicpc.net

27660번 문제(링크)에서 입력제한이 강해진 문제이다. 해당 문제의 풀이를 참고해 문제를 해결하자.

 

이 문제의 경우 더 작은 입력만이 주어지므로 한 사람이 자리를 옮길 때마다 새로 변한 상태의 줄을 다시 구해나가는 것으로도 문제를 충분히 해결할 수 있을 것이다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <queue>
#include <cstring>
using namespace std;

int T, N, E;
int cnt[101];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> T;
	while (T--) {
		memset(cnt, 0, sizeof(cnt));
		queue<int> que;
		cin >> N >> E;
		
		for (int i = N; i > 0; i--) que.push(i);
		while (E--) {
			int x; cin >> x;
			cnt[x]++, que.push(x);
		}

		while (cnt[que.front()]) {
			cnt[que.front()]--;
			que.pop();
		}

		cout << que.front() << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 5602 // C++] 問題1  (0) 2023.03.13
[BOJ 16397 // C++] 탈출  (0) 2023.03.12
[BOJ 1358 // C++] 하키  (0) 2023.03.11
[BOJ 27660 // C++] Queue skipping (Hard)  (0) 2023.03.11
[BOJ 4883 // C++] 삼각 그래프  (0) 2023.03.10

+ Recent posts