Re:제로부터 시작하는 경기 프로그래밍 생활 제1장 3 '되고 차'

학습 보고서



ABC154 참가할 마음이 많았는데 이번 주 없었던 orz
그래서 이번에도 과거문해 갑니다!!

전회는 B문제를 풀고, 다음은 드디어 C문제였는데 생각의 외 어렵고, 최근 5일간 정도는 수를 해내려고 A-C까지의 문제를 오로지 풀고 있었습니다.

그 도중에 문제의 난이도에 따라 색이 붙어 있는 것을 깨달았습니다(느린).
AC 받고 기뻐했던 문제도 색을 보면 재()

즉, 지금의 자신의 실력은 회색 ...

그렇다면 풀어 보자, 차의 문제를!!!!

차에 도전



그래서 이번에 해결할 문제가 여기


이것이 차...손가락이 움직이지 않는다.
우선 출력 예를 보자.


과연!! 이 확률의 식의 숫자를 일단 적당한 변수(나오는 눈을 i, 코인을 흔드는 횟수를 j)로 옮겨 보면,
1/i*(0.5**j)

이 식을 반복 문장에 넣고 더해 가면 대답을 요구할 수 있네요!!
N,K = map(int,input().split())
ans = 0
for i in range(1,N+1):
  j = 0
  point = i
  while point < K:
    point *= 2
    j += 1
  ans += (1/N)*(0.5**j)
print(ans)

이것으로 AC 받았습니다!!

기사에서는 가볍게 쓰고 있습니다만, 이것 풀기까지 1시간 걸렸습니다.
더 생각하고 코드를 쓰지 않으면 안됩니다 ...
그리고, 더 이상의 난이도의 문제를 풀기 위해서는 이분 탐색이나 동적 계획법이라든지 여러가지 알아 두지 않으면 안 되는 것 같기 때문에, 그것도 학습해 갑니다. 머리 펑크 보자 ()

읽어 주셔서 감사합니다.
다음 갱신은 ABC154 후 정도가 될 것 같습니다만 좋으면 다시 읽어 주세요.

좋은 웹페이지 즐겨찾기