PC/UVa ID : 110304/850
이 포스트를 만든 목적
- 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.
이 포스트의 준비물
- firefox4 b8
- eclipse 3.6.1 + vrapper
- lua 5.1.4
참조 문헌
- 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 20, Crypt Kicker2, page 100)
참고 링크
- http://www.lua.org/manual/5.1/manual.html - 루아 메뉴얼, 스트링 찾을려고
- http://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=791 - 원문
문제
- 프로그램은 첫번째로 Case 를 양의 정수로 입력 받는다.
- 입력을 받았으면, 한줄을 띄운다.
- 2번까지 되었다면, 암호화된 문장을 공백 라인을 입력 받을 때까지 계속 받는다.
- 이때 입력된 암호화 문장에는 다음의 평문을 암호화 한 문장이 있다.
"the quick brown fox jumps over the lazy dog"
- 공백 라인을 입력 받았으면, 암호화된 문장을 모두 해석해서 출력 하고,
만약 해석이 안될 경우, "No solution." 을 출력하라.
맛보기 코드
여담
- 이 문제는 주어진 평문과 암호화된 문장을 찾는게 관건인데, 나는 이것을 패턴화 시킨 것을 비교하여 구현했다.
- 함수는 fn_crypt_kicker2_make_pattern 이다.
- 주어진 평문에 대앙하는 암호화 문장을 찾으면, 바로 decrypt table 을 만들고, 이 테이블을 참조하여 출력 하면 된다.
- 라인 38 ~ 48까지가 make decrypt table 이다.
:wq
'책 정리 > Programming Challenges : 알고리즘 트래이닝 북' 카테고리의 다른 글
문제 25, 비토와 친척들(Vito's Family), PC/UVa ID : 110401/10041 (0) | 2011.01.30 |
---|---|
문제 24, Fmt, PC/UVa ID : 110308/848 (0) | 2011.01.30 |
문제 23, 더플릿, Doublets, PC/UVa ID : 110307/10150 (2) | 2011.01.22 |
문제 22, 파일 조각, File Fragmentation, PC/UVa ID : 110306/10132 (1) | 2011.01.08 |
문제 21, 자동 심사 스크립트, Automated Judge Script, PC/UVa ID : 110305/10188 (0) | 2011.01.06 |
문제 19, 공통된 변경 문자열, Common Permutation, PC/UVa ID : 110303/10252 (0) | 2010.12.31 |
문제 18, 월도르프를 찾아라, Where's Waldorf? PC/UVa ID : 110302/10010 (0) | 2010.12.31 |
문제 17, WERTYU, PC/UVa ID : 110301/10082 (0) | 2010.12.28 |
문제 16, 야찌(Yahtzee) (2158) | 2010.12.28 |
문제 15, 경시 대회 점수판(Contest Scoreboard) (0) | 2009.12.13 |
최근댓글