조회 수 586 추천 수 0 댓글 0

#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;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 551
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1320
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2629
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10626
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4967
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8561
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19208
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38106
190 정올 떡 먹는 호랑이 조정미 2017.11.25 586
» 정올 - 알고리즘 - 벽장문의 이동(1409) 조정미 2018.02.10 586
188 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 587
187 함수3-자가진단4 file 박윤택 2014.08.15 588
186 정올 - 실력키우기 - 참외밭(2259) 조정미 2018.01.27 589
185 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 590
184 정올 기초다지기(aE002-함수2 2) killerjack 2014.07.26 592
183 정올 - 실력키우기 - 주사위 던지기2(1175) 조정미 2017.12.27 592
182 정올 기초다지기(문자열1-자가진단2) killerjack 2014.09.20 594
181 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 596
180 정올 기초다지기(함수3-자가진단2) killerjack 2014.07.26 598
179 정올 기초다지기(문자열1-자가진단1) killerjack 2014.09.20 604
178 정올 기초다지기(포인터-자가진단3) killerjack 2014.11.15 604
177 정올 - 알고리즘 - 색종이만들기(1335) 조정미 2018.03.31 612
176 정올 기초다지기(aE005-함수2 5) killerjack 2014.07.26 645
175 정올 - 실력키우기 - 색종이(초) (1438) 조정미 2017.12.23 645
174 정올 기초다지기(함수3-형성평가2) killerjack 2014.08.30 663
173 ★1~99사이에 일정수 몇번 나왔는지 세는거(승민_ 승민 2016.05.21 663
172 정올 기초다지기(aE006-함수2 6) killerjack 2014.07.26 667
171 정올 - 실력키우기 - 각 자리수의 합(2812) 조정미 2017.12.27 671
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 26 Next
/ 26