#include <stdio.h> int use[20]={0}; //사용할 벽장 int open(int a, int b, int i, int u, int sum); //벽장문의 최소 이동 횟수 찾기 int minus(int num); //음수일 경우 양수로 바꿔주는 함수 int main(void) { int n, a, b, u, i, result; scanf(" %d", &n); //벽장의 개수 scanf(" %d %d", &a, &b); //초기에 열려있는 두 벽장 scanf(" %d", &u); //사용할 벽장들의 순서의 길이 for(i=0; i<u; i++) scanf(" %d", &use[i]); //사용할 벽장 번호 result=open(a, b, 0, u, 0); printf("%d", result); return 0; } int open(int a, int b, int i, int u, int sum) //벽장문의 최소 이동 횟수 찾기 { if(i>=u) //더 이상 열어야 할 문이 없을 때 return sum; int len_a=open(use[i], b, i+1, u, sum+minus(a-use[i])); int len_b=open(a, use[i], i+1, u, sum+minus(b-use[i])); //printf("i=%d a=%d b=%d sum=%d len_a=%d len_b=%d \n", i, a, b, sum, len_a, len_b); if(len_a>len_b) return len_b; else return len_a; } int minus(int num) { if(num<0) //음수일 경우 양수로 바꿔주기 return (-1*num); else return num; }
2018.02.10 12:07
정올 - 알고리즘 - 벽장문의 이동(1409)
조회 수 586 추천 수 0 댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. | 좋은아빠되기 | 2019.02.15 | 553 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1327 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2637 |
공지 | Python(파이썬) 학습 자료 PDF 1 | 좋은아빠되기 | 2014.12.10 | 10639 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4971 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8566 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 19211 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 38112 |
509 | 회문 구하기 | killerjack | 2014.03.15 | 3191 |
508 | 화살표날아오기 플랫폼수하고 기차길이조정 | killerjack | 2014.02.08 | 1977 |
507 | 화살표 이동 | 박윤택 | 2013.11.30 | 2413 |
506 | 화살표 응용 | 박윤택 | 2013.11.30 | 1706 |
505 | 홀수면 n수까지 홀수 출력 짝수면 n수까지 짝수 출력(승민) | 승민 | 2016.08.20 | 464 |
504 | 홀수 짝수 for문(스민) | 승민 | 2016.03.05 | 554 |
503 | 핵맨 | 선우 | 2017.04.01 | 257 |
502 | 함수3-자가진단4 | 박윤택 | 2014.08.15 | 588 |
501 | 함수2 자가진단7 | 선우 | 2016.07.09 | 161 |
500 | 함수(승민) | 승민 | 2016.08.06 | 117 |
499 | 함수(승민) | 승민 | 2016.06.04 | 133 |
498 | 함수 1 자가진단 8 | 선우 | 2016.06.18 | 135 |
497 | 포인트 | 승민 | 2016.09.10 | 202 |
496 | 테두리(승민) | 승민 | 2016.11.12 | 176 |
495 | 테두리(승민) | 승민 | 2016.11.12 | 157 |
494 | 큰수작은수 나머지수 출력하기(승민) | 승민 | 2016.08.06 | 246 |
493 | 크림빵, 새우깡, 콜라 돈만큼 구입하는 경우의 수 구하기 | killerjack | 2014.02.22 | 4432 |
492 | 최대공약수 최소공배수 | killerjack | 2014.02.15 | 4338 |
491 | 최대공약수 최대공배수 고친거 | killerjack | 2014.02.22 | 2537 |