문제출처 : https://www.acmicpc.net/problem/14888


1. 문제요약

- N개의 수로 이루어진 수열 A1, A2, ... , An이 주어진다.

- 수 사이에 끼워 넣을 연산자가 N-1개 주어진다.

- 수의 순서는 고정되어 있고 숫자 사이에 연산자를 넣어서 만들 수 있는 최대값과 최솟값을 출력

- 수식은 +, -, *, / 순이다.

- 2 <= N <= 11


2. 접근방법

- 조합!

- 10! / (덧셈 연산자 갯수)! * (뺄셈 연산자 갯수)! * (곱셈 연산자 갯수)! * (나눗셈 연산자 갯수)!


3. 시간복잡도

- 10! / (덧셈 연산자 갯수)! * (뺄셈 연산자 갯수)! * (곱셈 연산자 갯수)! * (나눗셈 연산자 갯수)!


4. 회고

- 문제에서 음수 / 양수 인 경우 음수를 양수로 바꾸고 나눗셈 연산을 한 뒤에 다시 음수를 붙이라고 해서 

  진짜 그렇게 했는데.. 굳이 그렇게 안해도 그냥 그런식으로 연산이 되는거였네...


- 종만북에 조합관련된 비슷한 문제가 있었던거 같은데... 찾아봐야지


- 처음에 long long 로 max값을 -2e31 / min값을 2e31-1 로 잡았는데 왜 값이 제대로 안들어가지??

- 아.. 음... 엄청 멍청했군.... 2e31 은 2뒤에 0이 31개 있다는 뜻인데 왜 2^31으로 생각했지 ㅋㅋ



소스코드



[출처 : BOJ, 문제에 대한 모든 권리는 BOJ(acmicpc.net, startlink)에 있음]

'먹고살려면 > boj' 카테고리의 다른 글

BOJ 14503 로봇 청소기  (0) 2018.02.12
BOJ 14889 스타트와 링크  (0) 2018.02.12
BOJ 2146 다리 만들기  (0) 2018.02.11
BOJ 2178 미로 탐색  (0) 2018.02.11
BOJ 7576 토마토  (0) 2018.02.08

+ Recent posts