'프로그래밍'에 해당되는 글 10건

  1. 2009/02/26   UVa. 101 - The Blocks Problem 번역 (5)
  2. 2009/01/08   삼각형 넓이구하기 프로그래밍 - 헤론의 공식 (5)
  3. 2008/10/26   아 다풀었다 ㅋㅋㅋㅋ (2)
원문링크

블록 문제 

배경 

과감히 생략.

문제 

로봇의 팔이 평평한 테이블에 있는 블럭을 명령어대로 움직이게 하는 문제.

처음엔 아래처럼 n개의 블록(0부터 n-1까지)들이 있고 $0 \leq i < n-1$의 범위 내에 모든 i에 대해 bi 와  bi+1은 인접해있다.

그림 :
 아름다운 초기의 블럭나라

로봇의 팔에 하사하는 명령어 :

*a와 b는 블럭번호.

  • move a onto b

    a와 b에 있는 블록들을 제자리에 돌려놓고 a블럭을 b블럭 위로 옮긴다.

  • move a over b

    a위에 있는 블록들을 제자리에 돌려놓고 b블럭이 있는 블럭 기둥의 꼭대기로 a를 옮긴다.

  • pile a onto b

    b위에 있는 블록들을 제자리에 돌려놓고 a블록 위에 있는 블록기둥( a를 포함하여)을 b위로 옮긴다. 옮길 때 블록의 순서는 유지한다.

  • pile a over b

    a블록 위에 있는 블록기둥( a를 포함하여)을 b가 있는 블록기둥위로 옮긴다. 옮길 때 블록의 순서는 유지한다.

  • quit

    종료.

a = b일 때나 a와 b가 같은 블록기둥에 있을 때는 잘못된 명령이므로 무시한다.

입력 

첫 줄은 블록나라의 블록 개수를 나타내는 n(0 < n < 25)이 입력된다.

두 번째 줄부터 한 줄에 하나의 명령어가 입력되며 quit명령어가 입력될 때 까지 실행한다.

잘못된 문법의 명령어는 없다.

출력 

블록나라의 최종모습을 출력한다. 

각 줄의 처음에는 블록기둥 위치의 번호 i ( $0 \leq i < n$, n은 블록의 개수)를 출력하고 바로 다음에 콜론(:)을 출력한다 . 

공백문자 하나를 출력한다.

블록이 있다면 공백문자로 구분하여 출력하고 없다면 출력하지 않는다.

줄 끝에는 공백이 있으면 안된다.

입력 예시 

10
move 9 onto 1
move 8 over 1
move 7 over 1
move 6 over 1
pile 8 over 6
pile 8 over 5
move 2 over 1
move 4 over 9
quit

출력 예시 

 0: 0
 1: 1 9 2 4
 2:
 3: 3
 4:
 5: 5 8 7 6
 6:
 7:
 8:
 9:


AC
저작자 표시 비영리 변경 금지

이 글이 유익하다면 (굽신굽신) ->

Trackback Address >> http://zfanta.com/trackback/442 관련글 쓰기

  1. Favicon of http://dlbo.tistory.com BlogIcon Lonewolf dlbo 2009/03/25 00:49  address  modify / delete  reply

    헛. 이건 저 귀찮아서 안풀고 있던 문제군요 ㅋㅋㅋㅋㅋ

  2. Favicon of http://gam860720.tistory.com/ BlogIcon 김성중 2011/11/11 14:07  address  modify / delete  reply

    이거 문제 이해가 잘 안되는데 좀더 추가 설명좀 들을 수 있을까요?

    시간 나시면 연락주시면 감사하겠습니다.

  3. Favicon of http://tokyoexpress-az.com BlogIcon 유병수 2012/01/11 00:59  address  modify / delete  reply

    개구리 올챙이 적 생각도 못 한다

  4. Favicon of http://greenstarenergysaver.com BlogIcon 고명진 2012/01/12 10:19  address  modify / delete  reply

    큰 최고야, 당신은 날 계몽있다


중학교에선 4,5,6의 세 변을 가진 삼각형넓이를 구할 땐

h2 = 42 - (6-x)2 = 52 - x2

16 - (36 - 12x + x2) = 25 - x2
16 - 36 + 12x = 25
x = 15/4

h2 = 52 - x2
h2 = 400/16 - 225/16 = 175/16
h = √175/4 = 5√7/4

넓이 = 6 x 5√7/4 x 1/2
넓이 = 15√7/4








이런 방법을 알려줍니다.. 삼각형을 2개의 직각삼각형으로 나누어서 계산하는 것이죠.
참 싫죠?


헤론의 공식

√{s(s-a)(s-b)(s-c)}

s = (a+b+c)/2
s = (4+5+6)/2 = 15/2

넓이 = √{(15/2)x(7/2)x(5/2)x(3/2)} = √(1575/16) = 15√7/4






참 쉽죠? s는 넓이가 아니라는거 조심하시고.





이 글이 유익하다면 (굽신굽신) ->

Trackback Address >> http://zfanta.com/trackback/430 관련글 쓰기

  1. Favicon of http://www.ideakeyword.com BlogIcon Mr.번뜩맨 2009/01/09 21:42  address  modify / delete  reply

    헐 머리속이 갑자기 뒤엉키는 ~소리가~!

  2. BlogIcon tk3829 2011/01/20 06:04  address  modify / delete  reply

    담아갑니다 좋은 정보에요^^

  3. Favicon of http://no-credit-check-cell-phones.com BlogIcon 김성환 2012/01/10 20:55  address  modify / delete  reply

    호랑이도 제 말하면 온다

  4. Favicon of http://etboosters.com BlogIcon 천사 2012/01/13 11:16  address  modify / delete  reply

    남의 떡이 커 보인다



알고리즘 문제는 다풀었네요.
(근데 저 여자분은 누구???)

중간에 자료구조를 직접 만들어야하는 변태문제도 나오는데.....




ㅂ2ㅂ2

문제풀러가기

이 글이 유익하다면 (굽신굽신) ->

Trackback Address >> http://zfanta.com/trackback/415 관련글 쓰기

  1. Favicon of http://www.ideakeyword.com BlogIcon Mr.번뜩맨 2008/11/04 15:28  address  modify / delete  reply

    ㅋㅋㅋ오늘도 절 기절 시키시는군요!