티스토리 뷰

알고리즘/백준

백준 2529 부등호 C++

4567은 소수 2021. 12. 1. 02:22

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

 

2529번: 부등호

여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력

www.acmicpc.net

0 ~ 9 숫자를 1번씩만 사용하여 주어진 부등식을 만족하는 숫자를 만든 뒤 최댓값과 최솟값을 출력하는 문제입니다.

 

bfs를 활용하여 0 ~ 9의 수 하나씩 넣은 벡터에 대해 다음에 들어올 0 ~ 9 의 수를 탐색하며 아직 해당 벡터에 없는 수이면 부등식을 만족할 때 벡터의 마지막 원소로 새로 넣습니다.

 

그런 다음 최댓값을 갖는 벡터 (초기값 0000..000), 최솟값을 갖는 벡터 (초기값 999...999)와 비교하여 업데이트합니다.

 

자리가 더 길었다면 벡터에서 원소 탐색을 할 때 find를 안 썼겠지만, 최대가 10자리이므로 시간 초과 우려는 없을 것 같아 find 함수를 썼습니다.

 

코드는 다음과 같습니다.

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 1202 보석 도둑 C++  (0) 2021.12.10
15711 환상의 짝꿍 C++  (0) 2021.12.05
백준 2661 좋은수열 C++  (0) 2021.11.28
백준 1422 숫자의 신 C++  (0) 2021.11.25
백준 1701 Cubeditor C++  (0) 2021.11.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함