BALLPAINTING 오답 문의

  • chaos.kite
    chaos.kite

    안녕하세요

    [https://algospot.com/judge/submission/detail/295991]
    위 링크가 제출한 오답 code입니다.

    f(n)을 f0(0) ~ f0(n-1)을 이용해서 구했습니다.
    f0(n)은 ball이 n개일 때 가장 좌측 상단의 점을 처음 칠했을때,
    칠하는 방법의 수 입니다.

    precalc()에서 n이 1000일 때까지 값을 구해두었는데,
    오답 처리가 되었으니 precalc()에 문제가 있습니다.

    무식하게 세는 방법으로 n = 6일때까지는 정답인걸 확인했는데,
    그 이후에 답이 틀린 이유를 잘 모르겠습니다.
    아래는 위 오답 code로 생성한 답입니다.
    n이 1000일 때 답이 혹시 맞는지 정답 code가지고 계신분
    확인 부탁드립니다.

    감사합니다.

    n 1
    2
    n 2
    24
    n 3
    480
    n 4
    13440
    n 5
    483840
    n 6
    21288960
    n 7
    107025913
    n 8
    421554738
    n 9
    665721988
    n 1000
    194671163


    9년 전
4개의 댓글이 있습니다.
  • riceluxs1t
    riceluxs1t

    로직은 맞는데, MOD로 나머지 취하는 부분에서 실수하신듯 보입니다.
    n=9일때는 591980171,
    n=1000일때는, 691501437 입니다.


    9년 전 link
  • chaos.kite
    chaos.kite

    질문올리기전 그부분 재확인했었는데 그래도 실수가 남아있나봅니다
    답변주셔서 감사합니다. ^^


    9년 전 link
  • chaos.kite
    chaos.kite

    riceluxs1t님
    방금 pass했는데
    n=9일 때 665721988
    n=1000일 때 361973469 입니다.
    답 구하신 code가 정답받으실 때 사용한 code가
    아닌가 봅니다. ^^;;
    참조하세요


    9년 전 link
  • riceluxs1t
    riceluxs1t

    아 먼가 착오가 있었나 봅니다.. 말씀하신 값이 맞습니다.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.