블로그 이사 중입니다 >> gumgood.github.io

11917 이상한 수열 본문

Problem Solving/문제 풀이

11917 이상한 수열

gumgood 2017. 5. 31. 05:49

C++11


(m<=n) 출력

(m > n) B[n+1] 바로 알 수 있다. 다음 두 경우를 생각하면,

  - Case 1) max(B[1]~B[n]) < B[n+1]

      수열 S 뒤로 새로운 수들로 이어진다.

      즉, B[n+1] 뒤로 점화식 B[i] = B[i-1] + 1를 만족하는 수열이 된다.

      m번째 index가 어떤 값을 가질지 잘 생각해서 출력하면 됨

  - Case 2) max(B[1]~B[n]) >= B[n+1]

      위와 같이 B[n+1] 뒤로 1식 증가하다가

      (B[i] == max(B[1]~B[n]))인 곳 뒤로 점화식 B[i]==B[i+1]를 만족하는 수열이 된다.

      B[i]를 쭉 증가시켜주다가 B[m]이면 출력하고

      그 전에 B[i] == B[i-1]인 구간에 도달하면 B[i] 출력해주면 된다.

    


'Problem Solving > 문제 풀이' 카테고리의 다른 글

8901 화학 제품  (0) 2017.06.12
10610 30  (0) 2017.05.31
11917 이상한 수열  (0) 2017.05.31
13863 Cubes  (0) 2017.05.31
13913 숨바꼭질 4  (0) 2017.05.31
5355 화성 수학  (0) 2017.05.30
Tag
0 Comments
댓글쓰기 폼