문제 43, 셈, Counting, PC/UVa ID : 110603/10198, 인기도 : B, 성공률 : 높음, 레벨 : 2 이 포스트를 만든 목적생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.참조 문헌스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역. Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 43, 셈, Counting, p.173)참조 링크http://uva.onlinejudge.org/external/101/10198.html : 문제 원문문제구스타보는 세는 방법은 배웠지만 숫자들을 쓰는 방법은 이제 막 배웠다. 그는 매우 좋은 학생이며, 이미 1, 2, 3 그리고 4를 배웠다. 하지만 그..
Programming Challenges 검색 결과
PC/UVa ID : 110403/10037 이 포스트를 만든 목적 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다. 이 포스트의 준비물 firefox4 beta10 eclipse 3.6.1 + vrapper lua 5.1.4 참조 문헌 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역. Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 27, 다리, Bridge, page 123) 참고 링크 http://www.algorithmist.com/index.php/UVa_10037 - 문제 http://cherrykyun.tistory.com/462 이야기 n명의 사람들이 밤중에 늑대들에게 쫒기고 있다. 강 위에..
PC/UVa ID : 110207/10258 시작하기에 앞서... 이 문제를 통해서 다시 한번 생각하게 된 것은 "명확하게 문제가 무엇인지 파악하는 것" 이 알고리즘 개발의 제일 첫번째 할 일 이라는 것 이다. 이번 문제를 잘 이해 하지 못해서, 여러곳의 글들을 보았지만, 다들 각자 다르게 이해를 했는지, 각자 말하는게 달랐다. 그래서 우선 내가 이해한데로 풀고, 문제의 모범 답안(?)을 보고 코드 리뷰를 했다. 이제서야 "점수 개산 방법"이 무엇인지 알게 되어 정리를 하게 된다. 개요 ACM ICPC의 점수 계산법을 구현하여, 참가팀에 모든 순위를 매기어 정렬시키고 1등 부터 꼴찌까지 출력 하라는 내용이다. 각 팀의 순위는 제일 많은 문제를 맞춘 순이며, 만약 맞춘 갯수가 동일한 팀이 있다면, 벌점이 ..
PC/UVa ID : 110205/10205 사설 이번 문제 역시 이해하기 어려웠다. "실시간으로 카드 섞기를 누적 하지 않고, 한번 다 섞은 후에 누적한다." 라고만 했어도 쉽게 이해 했을 텐데. 개요 52장의 카드를 주어진 방법에 따라 섞는데, 어떻게 섞였는지 출력하라는 것이다. 카드를 섞는 방법은 일명 "밑장 빼기"의 응용버전 인, "원하는 부분의 카드를 빼서 위에 쌓아 올리기" 이다. 즉, 카드의 아래서 위로 순번으로 매길때, 3번의 카드를 빼서 52번째 카드의 자리에 카드를 올려 놓는 섞기 방법이다. 여기서 중요한 점은, 실시간으로 카드 섞임을 누적하지 않고, 섞는 방법들 중 한 가지 방법으로 섞고 난 후에야 비로서 누적한다. 즉, "1번째 카드를 3번째 자리에 넣으라고 했을때, 2번째 자리가 ..
PC/UVa ID : 110204/843 사설 .. 문제를 이해 하는데 엄청난 노력이 필요했다. 일반적을 나는 짜증이 나면, 단잠(30~ 40분)을 자는 스타일인데, 이 문제를 풀기 위해서 3번은 잠을 청해야 했기에, 얼마나 문제를 이해하고자 노력했는지 스스로가 알 수 있었다. 개요 아주 간략하게 설명하자면, 암호화된 문자를 해독하여, 표준출력을 하라는 내용이다. 여기서 다루는 암호의 종류는 "알파벳 문자 한개를 다른 알파벳 문자 한개로 치환하는 암호"로 흔히 "단문자 암호"라 불리는 암호이다. 그러므로 문제는 임의의 단문자 암호화가 된 문자들이 입력되었을 때, 이 단문자 암호를 깨고, 본래의 문자가 출력되게 하라는 것이다. 임의의 단문자 암호화는 "입력 하는 사람"만 알고 있을 뿐이라는 것이다. 여기서..
PC/UVa ID : 110106/10033 개요 어떤 컴퓨터에 열 개의 레지스터와 1,000워드 분량의 램이 있다. 각 레지스터 또는 램 위치에는 0 이상 999이하의 세 자리 정수가 저장된다. 명령어는 세자리 정수로 인코딩되며 램에 저장된다. 인코딩은 다음과 같다. 100 : 종료 2dn : d 레지스터를 n으로 설정(0 이상 9 이하) 3dn : d 레지스터를 n 더함 4dn : d 레지스터를 n 곱함 5ds : d 레지스터를 s 레지스터의 값으로 설정 6ds : s 레지스터의 값을 d 레지스터에 더함 7ds : d 레지스터에 s 레지스터의 값을 곱함 8da : d 레지스터를 a 레지스터에 저장된 주소의 램에 들어 있는 값으로 설정 9sa : a 레지스터에 저장된 주소의 램에 s 레지스터의 값을 대..
최근댓글