https://www.acmicpc.net/problem/20301
๋ฌธ์
์์ธํธ์ค ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
โ1 2 ๋ฒ ์ฌ๋์ด ์์ ์๊ณ , 2 ๋ฒ ์ฌ๋ ์ค๋ฅธ์ชฝ์๋ 3 ๋ฒ ์ฌ๋์ด ์์ ์๊ณ , ๊ณ์ํ์ฌ ๊ฐ์ ๋ฐฉ์์ผ๋ก N ๋ช ์ ์ฌ๋๋ค์ด ์์ ์ด๋ฃจ๋ฉฐ ์์ ์๋ค. N ๋ฒ ์ฌ๋ ์ค๋ฅธ์ชฝ์๋ 1 ๋ฒ ์ฌ๋์ด ์์ ์๋ค. ์ด์ K (≤N )๋ฒ ์ฌ๋์ ์ฐ์ ์ ๊ฑฐํ๊ณ , ์ดํ ์ง์ ์ ๊ฑฐ๋ ์ฌ๋์ ์ค๋ฅธ์ชฝ์ K ๋ฒ์งธ ์ฌ๋์ ๊ณ์ ์ ๊ฑฐํด ๋๊ฐ๋ค. ๋ชจ๋ ์ฌ๋์ด ์ ๊ฑฐ๋์์ ๋, ์ ๊ฑฐ๋ ์ฌ๋์ ์์๋ ์ด๋ป๊ฒ ๋ ๊น?
๋ฒ ์ฌ๋ ์ค๋ฅธ์ชฝ์๋์ด ๋ฌธ์ ์ ๋ต์ (N , K )–์์ธํธ์ค ์์ด์ด๋ผ๊ณ ํ๋ฉฐ, (7 , 3 )–์์ธํธ์ค ์์ด์ โจ3,6,2,7,5,1,4โฉ ๊ฐ ๋๋ค.
ํ์ง๋ง ํ ๋ฐฉํฅ์ผ๋ก๋ง ๊ณ์ ๋์๊ฐ๋ ๊ฑด ๋๋ฌด ์ง๋ฃจํ๋ค. ๋ฐ๋ผ์ ์์ธํธ์ค ๋ฌธ์ ์ ์ฌ๋ฏธ๋ฅผ ๋ํ๊ธฐ ์ํด M ๋ช ์ ์ฌ๋์ด ์ ๊ฑฐ๋ ๋๋ง๋ค ์์ ๋๋ฆฌ๋ ๋ฐฉํฅ์ ๊ณ์ํด์ ๋ฐ๊พธ๋ ค๊ณ ํ๋ค. ์ด๋ ๊ฒ ์ ์๋ ์๋ก์ด ๋ฌธ์ ์ ๋ต์ (N , K , M )–๋ฐ์ ์์ธํธ์ค ์์ด์ด๋ผ๊ณ ํ๋ฉฐ, (7 , 3 , 4 )–๋ฐ์ ์์ธํธ์ค ์์ด์ โจ3,6,2,7,1,5,4โฉ ๊ฐ ๋๋ค.
โN K , M ์ด ์ฃผ์ด์ง ๋, (N , K , M )–๋ฐ์ ์์ธํธ์ค ์์ด์ ๊ณ์ฐํด ๋ณด์.
,์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ N , K , M ์ด ์ฃผ์ด์ง๋ค. (1≤N≤5 000 , 1≤K,M≤N )
์ถ๋ ฅ
(N K , M )–๋ฐ์ ์์ธํธ์ค ์์ด์ ์ด๋ฃจ๋ ์๋ค์ ํ ์ค์ ํ๋์ฉ ์์๋๋ก ์ถ๋ ฅํ๋ค.
,
ํ์ด
[๐๏ธ ICPC Sinchon Novice] - [C/C++] ๋ฐฑ์ค 1158๋ฒ : ์์ธํธ์ค ๋ฌธ์
๋ฐ๋๋ฐฉํฅ๋ ๊ตฌํํด์ฃผ๋ฉด ๋๋
์์ธํธ์ค ๋ฌธ์ ๋ ํ๋ฅผ ์ด์ฉํ๋ค. ์๋ฐฉํฅ์ ์ํด ๋ฑ์ ์ด์ฉํ์
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int main() {
int n, k, m;
cin >> n >> k >> m;
vector<int> ans;
deque<int> q;
for(int i=1; i<=n; i++)
q.push_back(i);
int turn = 1;
bool isReverse = false;
while(!q.empty()) {
if(isReverse) {
if(turn%k == 0) {
ans.push_back(q.back());
if(ans.size()%m == 0)
isReverse = !isReverse;
}
else q.push_front(q.back());
q.pop_back();
} else {
if(turn%k == 0) {
ans.push_back(q.front());
if(ans.size()%m == 0)
isReverse = !isReverse;
}
else q.push_back(q.front());
q.pop_front();
}
turn++;
}
for(int i: ans)
cout << i << "\n";
return 0;
}
'๐๏ธ ICPC Sinchon > Linear Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 17299๋ฒ: ์ค๋ฑํฐ์ (0) | 2023.05.25 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 1918๋ฒ: ํ์ ํ๊ธฐ์ (0) | 2023.05.24 |
[BOJ S1][C++] ๋ฐฑ์ค 4889๋ฒ : ์์ ์ ์ธ ๋ฌธ์์ด (0) | 2022.09.14 |
[BOJ S3][C++] ๋ฐฑ์ค 18115๋ฒ : ์นด๋ ๋๊ธฐ (0) | 2022.09.12 |
[BOJ S5][C++] ๋ฐฑ์ค 11866๋ฒ : ์์ธํธ์ค ๋ฌธ์ 0 (0) | 2022.09.12 |