View
알고리즘 분류: 구현, 시뮬레이션
문제 링크: https://www.acmicpc.net/problem/10811
【 풀이 】
벡터에 1 ~ N 의 숫자를 push_back 하고
start와 end 변수를 받아주고 그 범위를 reverse 함수를 이용해 뒤집어주면 된다.
단 end는 그대로 쓰지만, 0번째 인덱스부터 접근해야 하기 때문에 start는 -1을 한 값을 이용해야 한다.
【 코드 】
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
int N, M;
cin >> N >> M;
vector<int>v;
for (int i = 1; i <= N; i++)
v.push_back(i);
for (int i = 0; i < M; i++) {
int start, end;
cin >> start >> end;
reverse(v.begin() + (start - 1), v.begin() + end);
}
for (int i = 0; i < N; i++)
cout << v[i]<<" ";
return 0;
}
728x90
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1016번: 제곱 ㄴㄴ 수 [C++] (0) | 2023.09.20 |
---|---|
[백준] 1002번: 터렛 [C++] (0) | 2023.09.20 |
[백준] 2667번: 단지번호붙이기 [C++] (0) | 2023.09.18 |
[백준] 2178번: 미로 탐색 [C++] (0) | 2023.09.17 |
[백준] 1049번: 기타줄 [C++] (0) | 2023.09.14 |
reply