'Programming Challenges'에 해당되는 글 4건

  1. 2007/05/25 ACM counting문제.. (2)
  2. 2007/04/19 Programming Challenges 1챕터 완료 :D (2)
  3. 2006/11/17 Accepted!!
  4. 2006/11/07 never solved (2)

저는 가금 Programming-challenges에 있는 문제를 풀어보고 있습니다. 프로그래밍 실력도 쌓아보고, 알고리즘 설계능력이나 사고력을 증진시켜 보고자 시작한 일이죠.,

그 중에서 counting이라는 문제가 있습니다. ( http://acm.uva.es/p/v101/10198.html )  나름대로 알고리즘을 생각하고 풀려고 했는데, 입력값이 특정숫자가 넘어가면 기본 자료형으로는 담을 수 없는 크기만큼 값이 늘어나게 됩니다. (적어도 2^1000보단 커지니까요) 혹시 제가 잘못 생각한건 아닌가 해서 ACM게시판을 살짝 뒤져봤는 제대로 생각한것은 맞더군요.,

하지만~ 글을 읽던중에 흥미로운것을 발견했습니다.

저는 단지 for문을 이용해서 숫자를 만들 수 있는 1, 2, 3 의 순열들을 찾아서 계산하는 식으로 알고리즘을 생각했는데, f(n) = 2f(n-1) + f(n-2) + f(n-3) 이라는 공식으로 해결이 된다는 겁니다.

아무리 생각해봐도 저걸 증명할 수 없겠어요 @_ @ 게시판의 설명으로는..

let f(n) denote the no of ways to make numbers with the sum n. The number of ways to make n is the same as the number of ways to make n-1 + no of ways to make n-2 + no of ways to make + no of ways to make n-3 + no of ways to make n-4. However since 4 = 1, it is basically


라고 적혀 있긴 하지만 읽어봐도 이해가 되지 않습니다.

혹시 설명이 가능하신분 있나요? ^^;;

Posted by Mastojun
사용자 삽입 이미지

작년 7월에 구입했던(걸로 기억하는) Programming Challenges 중 1챕터를 드디어 다 풀었습니다 =ㅂ=)!
가장 고생했던게 LC-Display.. 지난 포스트 를 보면 이 문제로 몇일간 고생했던걸 볼 수 있습니다. http://www.programming-challenges.com 의 체점 로봇에 오류가 있었던거였죠. 결국 UVa사이트에 들어가서 Accepted받았었죠. 그런데 어제 Graphical Editor를 풀어 올리려 접속해보니 다시 체점되어 있었습니다. Solved로 바뀌었군요 +ㅅ+)

처음 The 3n+1 problem을 풀때도 고생했었죠. 두 수를 입력받을때 앞의 수가 뒤의 수보다 클 수도 있다는걸 생각하지 못해서 결국 정답을 보고 무엇이 오류였는지, 알고리즘 문제에서 조심해야 할 점이 무엇인지 알게 되었죠.

다른건 크게 기억이 나는건 없는데, Graphical Editor는 재귀함수를 사용했었는데 메모리 참조 오류가 나는겁니다. 그래서 스택 오버플로우가 발생하는건줄 알았는데 알고보니 알고리즘 자체에 문제가 있더군요 ㄱ-..

그거 해결하고도 계속 WA... 3n+1 처럼 잘못된 가정을 한것도 없었습니다.

몇시간 고민끝에 찾아낸건.. 문제를 잘못읽었다는거 [....] x1, y1, x2, y2 입력받는걸.. x1, x2, y1, y2 입력으로 생각했던겁니다. 하하하

여하튼 책 구입한지9개월만에 1chapter 다 풀었군요. 문제가 어려운것도 , 제가 실력이 부족한탓도 있지만 가장 큰건 게으른탓 ㅠ_ㅠ.
Chapter2는 3문제정도 안풀었던데 어서 풀어야겠습니다 +ㅅ+. Programming-challenges문제를 모두 풀고 UVa문제 풀기 시작해야겠어요 :)
Posted by Mastojun
일상 이야기2006/11/17 01:31

바로 전 포스트의 주제였던 LC-Display문제의 never solved..

역시 Programming-Challenges 사이트의 정답 체점 프로그램에 오류가 있던거다. 원본 문제가 있는 사이트 http://acm.uva.es/problemset/ 에 가입해서 체점 프로그램으로 돌려보니..

User inserted image


Accepted!! 이 사이트가 있다는건. Programming-challenges 책 서두에 봐서 알고 있었지만., 이 책에 있는 문제를 모두 푼 후에 도전하겠다는 생각으로 접속하지 않았었는데..

앞으로 체점은 저곳을 이용해야 할듯 싶다. 더 정확하고 속도도 빠르고., 더 자세한 정보를 제공해주는 사이트.

여기에 등록되어 있는 문제가 약 2000문제 정도 된다는게 놀랍다 (;;;;)

Posted by Mastojun
일상 이야기2006/11/07 19:59
한빛미디어에서 번역하여 출간된 책.. Programming Challenges..

ACM-ICPC 서울지역대회 본선을 치루고 나서,, 공부좀 하자는 생각으로 요즘 다시 이 책에 있는 문제들을 풀고 있다. 소잃고 외양간 고치는 격 인거 같은 기분이 들기도 하지만... 흠;;

예전 여름방학때 공부를 했을무렵.. 아무리 정답에 맞게 코딩을 한듯하고 제출을 해도.. Presentation error가 뜨는 문제가 있었다. 오늘 우연히... status 페이지를 클릭해 보았는데...

never solved!!!
총 5701번의 제출.. 시도한 사람 1080명중에서 답을 낸 사람은 한명도 없었던것!!..... 프리젠 테이션 에러 라는것은 답은 제대로 출력되는데 개행이라던가 띄어쓰기라던가가 잘못되었을때 발생하는 에러란다..

하지만 저정도까지 기록되어 있는건.... 분명 .. 답이 잘못된걸꺼다 -_-;;;

이 문제 말고 Graphical Editor 라는 문제도 있는데 이것도 도무지 답을 알 수 없는 문제.. 599명중 99명이나 푼 문제이긴 하지만..... 이것 역시 뭘 잘못했는지 모를 문제다. ㅠㅠ

누가 정답 소스를 가지고 있다면 알려주길 바래요~~
Posted by Mastojun