๋ฌธ์
2346๋ฒ: ํ์ ํฐ๋จ๋ฆฌ๊ธฐ
1๋ฒ๋ถํฐ N๋ฒ๊น์ง N๊ฐ์ ํ์ ์ด ์ํ์ผ๋ก ๋์ฌ ์๊ณ . i๋ฒ ํ์ ์ ์ค๋ฅธ์ชฝ์๋ i+1๋ฒ ํ์ ์ด ์๊ณ , ์ผ์ชฝ์๋ i-1๋ฒ ํ์ ์ด ์๋ค. ๋จ, 1๋ฒ ํ์ ์ ์ผ์ชฝ์ N๋ฒ ํ์ ์ด ์๊ณ , N๋ฒ ํ์ ์ ์ค๋ฅธ์ชฝ์ 1๋ฒ ํ์
www.acmicpc.net
์ฝ๋
#include <iostream>
#include <deque>
#include <vector>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
deque<pair<int,int>>dq; //{์ ์, ์ธ๋ฑ์ค};
vector<int>ans;
int N; cin>>N;
for(int i=0; i<N; i++){
int num; cin>>num;
dq.push_back({num,i});
}
while(!dq.empty()){
int num = dq.front().first;
int index = dq.front().second;
ans.push_back(index+1);
dq.pop_front();
for (int i = 1; i < num; i++) {
dq.push_back(dq.front());
dq.pop_front();
}
for (int i = 0; i > num; i--) {
dq.push_front(dq.back());
dq.pop_back();
}
}
for(int i: ans) cout<<i<<' ';
}
ํ์ด(ํ์ด ์๊ฐ: 50๋ถ)
์ํ ํ ๋ฌธ์ ์์ต๋๋ค. ์ด๋ฒ์ ํ์คํ๊ฒ ์ํ ํ๊ฐ ์ด๋ ํ ์๋ฆฌ๋ก ๋์๊ฐ๊ฒ ๋๋์ง ์ดํดํ ์ ์๊ฒ ๋์์ค ๋ฌธ์ ์์ต๋๋ค.
์ํ ํ ๊ฐ๋ ์ ๊ดํด์๋ ์ ์์์ ์ฐธ๊ณ ํ์ต๋๋ค.
๋ฌธ์ ํ์ด๊ฐ ์ค๋ ๊ฑธ๋ฆฐ ์ด์ ๋ ํ์ ์ด๋์ ์๋์ ๊ฐ์ ์ด๋์ ํด์ผ ํ๋๋ฐ ์ผ์ชฝ์ผ๋ก ์ด๋ํ ๋์๋ [์ซ์ - 1] ๋งํผ ์ด๋ํ์ฌ ๊ณ์ ๋๋ฒ๊น ํ๋๋ผ ์ค๋ ๊ฑธ๋ ธ์ต๋๋ค.
- ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋์: [์ซ์ -1] ๋งํผ ์ด๋
- ์ผ์ชฝ์ผ๋ก ์ด๋์: [์ซ์]๋งํผ ์ด๋
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1913๋ฒ - ๋ฌํฝ์ด (0) | 2022.03.15 |
---|---|
[๋ฐฑ์ค,c++] 1094๋ฒ - ๋ง๋๊ธฐ (0) | 2022.03.14 |
[๋ฐฑ์ค,c++] 1021๋ฒ - ํ์ ํ๋ ํ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 13305๋ฒ - ์ฃผ์ ์ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 10799๋ฒ - ์ ๋ง๋๊ธฐ (0) | 2022.03.10 |
[๋ฐฑ์ค,c++] 1935๋ฒ - ํ์ ํ๊ธฐ์2 (0) | 2022.03.10 |
๋๊ธ