백준 10811 바구니 뒤집기알고리즘/백준2023. 3. 24. 22:09
Table of Contents
https://www.acmicpc.net/problem/10811
쉬운 문제이지만 reverse의 기능과 vector와 같은 container의 iterator가 무엇인지 모른다면 풀기가 어려워 보이는 문제입니다.
저도 처음에 조금 돌다가 풀었습니다.
reverse()에는 vecotr와 같은 container객체의 iterator를 넣을 수 있습니다.
iterator는 vector 객체의 주소를 가르켜주는 "도구"의 느낌으로 저는 생각하고있습니다.
따라서
int arr[4]; 이런식으로 생성한 배열도
reverser에다가 당연히 인자로 넣어 줄 수 있습니다. 배열 arr의 주소값은 arr이라는 객체 이름이 가르키고 있기 때문입니다.
벡터의 경우 reverser(vec.begin(), vec.end()); 이런식이라면
배열의 경우 reverser(arr + 1, arr + 3); 이런식입니다.
자료형 크기 만큼 +n해서 범위안의 값을 reverser한다는 뜻이기 때문이죠.
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define MAX 104
int a, b, s, e, arr[MAX];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> a >> b;
for (int i = 0; i < a; ++i) arr[i] = i + 1;
for (int i = 0; i < b; ++i)
{
cin >> s >> e;
reverse(arr + s - 1, arr + e);
}
for (int i = 0; i < a; ++i) cout << arr[i] << " ";
cout << endl;
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 17472 다리 만들기2 C++ (0) | 2024.02.26 |
---|---|
백준 25206 너의 평점은 (0) | 2023.04.11 |
백준 3015 오아시스 (0) | 2023.03.22 |
백준 15926 현욱은 괄호왕이야! (0) | 2023.03.21 |
백준 15353 큰수 A+B (2) (0) | 2023.03.18 |
@CGNY :: 김놀자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!