GCJ R1C 후기

  • Neon
    Neon

    A번. 내 타자실력은 녹슬지 않았군... 수준의 쉬운 문제
    B번. 아오 소수 precision 처리 똥망 똥망. 그렇다고 작년처럼 java BigInteger를 C++에서 갖다쓰는 삽질은 하지 말아야지.
    C번. 흠... 뭐 법칙만 알면 이것도 나름 빠르게 풀 수 있음.
    B번에서 말려서 헤메이다가 탈락할 것 같은 불안감에 패스하고 C번 먼저 풀어야 했다능...
    방정식 풀이랑 ternary search 두개를 짜서 cross check했는데도 계속 틀리다가 long double로 바꾸고 겨우겨우 패스했다죠.

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]

    14년 전
7개의 댓글이 있습니다.
  • JongMan
    JongMan

    헐 BigInteger 를 C++ 에서 갖다쓰려면 뭘해야 하나영??


    14년 전 link
  • nocut98
    nocut98

    GCJ R1B 후기...어?...다 A보다 B를 먼저 푸네? 그럼 나도 B번부터...
    B번....음 정렬 문제인데, 처음봤지만 처음보지 않은 거 같은 문제 왠지 이베리아 반도의 여인이 탱고를 추는 그런 느낌.... 와- 이지 된다. 그럼 라지도 제출
    A번....와 이거 파싱 어케 해야 하나... 어짜피 시간복잡도는 상관 없는 거 같고, 트리구조 만드는 방법 잘 모르니 그냥 map에다 인덱스 넣어서 다 때려넣자...와 이지된다. 그럼 라지도 그냥 제출...라지 둘 중에 하나는 맞겠지
    C번... 이거 딱봐도 존내 어려운데 잘까 말까...(새벽 2시반)
    ...(약 10분간 고민)...
    문제라도 읽어보자...
    ...아 존내 어렵네...
    ...그럼 이제 컴퓨터를 끄고 누워서 방법을 생각해볼까...
    ...zzz...
    (아침 9시)
    ...모짜렐라!!!!....여긴 어디? 난 누구?


    14년 전 link
  • Neon
    Neon

    JNI와 비슷한 CNI라는 걸 사용하면 되는데...
    http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html
    http://blmarket.tistory.com/entry/gcj-CNI-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0


    14년 전 link
  • VOCList
    VOCList

    GCJ R1A 후기A를 읽어보니 어 DP네. 근데 상태공간을 얼마나 크게 잡아야할지를 모르겠어서 일단 map으로 짜서 small 제출해보니 맞습니다. 그래서 small 문제가지고 최악의 경우를 계산해봤더니 의외로 상태공간 천만개정도만 잡으면... 이건 된다! 하고 다시 상태공간잡아서 짠 뒤에 라지도 제출.
    슬슬 A를 풀고나서 누가누가 뭘 풀고있나 눈치를 보니 사람들이 C를 풀더라고요. 그래서 C따라갔는데... 이지가 나오질 않습니다. 일단 이지라도 맞춰볼 생각으로 eps로 확률을 커트해서 짜 봤는데, 처음에 eps == 1e-7로 작성해서 문제를 풀었더니 WA. 그래서 EPS 너무 크게 잡은 줄 알고 1e-11로 수정했더니 또 WA, 1e-12도 WA. 12거 다운받으면서 실수로 두번받아서 한번 time expired. 분노의 1e-14로 모든 case에 대해서 precalculation을 시도하다가 너무 오래걸려서 한 15분뒤에 또 취소... 하고 한참 생각을 해 봤습니다. 그랬더니 유레카! xxx일 경우에 yyy를 zzz로 풀 수 있구나! 하면서 아예 코딩을 처음부터 새로 시작. 근데 루프 베리어블 잘못써서 또 WA... 이걸 한참 디버깅하다 종료 1분전쯤에 찾아냈습니다. 그래서 이걸 고치고 다시 스몰을 냈는데 또 WA... 이건 아직도 이유를 모르겠네요. 남은 시간은 30초, 모아니면 도다 해서 라지를 받아서 그냥 그 소스로 돌려서 제출. 그 뒤에 스몰을 다시한번 돌려봤는데 이번엔 Correct... 그리고 대회 종료가 4초 남았더라고요. 결과는 라지도 Correct.
    결국 B는 문제 구경도 못했네요. 숨막히는 1분이었습니다 ㅠㅠ


    14년 전 link
  • Being
    Being

    GCJ R1B 후기A를 봅니다. 더럽습니다. 그래도 막 합니다. 다 했습니다. 스몰을 받습니다. 세그폴이 납니다. 아오... 열라 디버깅을 합니다. 짜증납니다. 자 고쳤습니다. 내니까 맞습니다. 와우~
    B를 봅니다. 어? 짱쉽습니다. 이러면 이렇게 하고 아니면 한글자 슥 붙여서 슉 합니다. 넣으니까 나옵니다. 545바이트 코드 올레~
    C를 봅니다. 어?????????????????????????
    그래도 대충 열라 짜면 될거란건 알겠지만 조건이 너무 처리하기 짜증납니다. 열심히 짭니다. 다 짰습니다. 예제를 넣습니다. 죽습니다. 열심히 고칩니다. 다 고쳤습니다. 예제를 넣습니다. 죽습니다. 열심히..(중략) 안죽습니다. 근데 시간이 지났네요? ^^ 연습모드에서 스몰을 넣으니 죽습니다. OTL 저 낡은듯..


    14년 전 link
  • nocut98
    nocut98

    코드 봤는데, B번 진짜 간단하게 푸셨네요 ㅎㅎ


    14년 전 link
  • Toivoa
    Toivoa

    GCJ R1A 후기
    A를 봅니다. 그냥 돌려봅니다. small 받아서 넣어보니 time expired. 그래도 좀 빠르게 해줘야 되는구나 하고 고쳐서 다시 해보니 wrong answer. 응? 삽질하다가 다시 해보니 다시 wrong answer. 이쯤 되면 탈락해도 A는 풀고 만다는 오기가 생깁니다. 소스코드 한줄씩 검토하다 보니 초기화 실수. -ㅅ- 결국 small 맞았습니다. large 풀어볼까? 하면서 몇 가지 큰 경우 돌려보니 테스트 케이스 커지면 간당간당할 것 같습니다. 생각해보니 테스트 케이스 가지수가 511개. precalc를 해놓고 읽어서 쓰기로 했습니다. precalc 해놓고 small에서 했던거랑 비교해보니 답이 틀립니다. 이건 또 무엇? 하면서 삽질해보니 precalc를 1-base (2진수 치환시) 로 해놓고 읽어서 쓰는데서는 0-base 읽어서 답이 틀린거였습니다. -ㅅ- 어쨌든 large 제출.
    사람들이 C를 많이 풀고 있으니 C를 봅니다. 경우의 수 문제네? 한 10만번 돌리면 되겠지? 하면서 계산해봅니다. 생각보다 계산이 쉽게 되어서 small을 제출합니다. large는 테스트 케이스가 크니 일단 small로 1만번 돌렸을 때 답을 비교해보니 10만번 했던거랑 똑같이 나옵니다. 1만번 하기로 하고 large를 받습니다. 돌려봅니다. 답이 바로 나옵니다. -ㅅ- 불안해서 5만번 돌리는걸로 수정해서 돌려봅니다. 답이 똑같습니다. 제출합니다.
    마지막으로 B가 남았는데 1시간 반이 넘어가니 그나마 하던게 SRM인지라 더 이상 집중이 안됩니다. 문제가 눈에 들어오지도 않아서 포기합니다.


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