조회 수 574 추천 수 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 501
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1266
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2577
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10554
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4919
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8509
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19141
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38053
210 정올 기초다지기(문자열1-자가진단2) killerjack 2014.09.20 593
209 정올 기초다지기(문자열1-자가진단4) killerjack 2014.09.20 576
208 정올 기초다지기(문자열1-자가진단5) killerjack 2014.09.20 421
207 정올 기초다지기(문자열1-자가진단6) killerjack 2014.09.20 742
206 정올 기초다지기(문자열1-자가진단7) killerjack 2014.09.20 573
205 정올 기초다지기(문자열1-자가진단8) killerjack 2014.09.20 510
204 정올 기초다지기(문자열1-자가진단9)ver 1. killerjack 2014.09.20 700
203 정올 기초다지기(문자열1-자가진단9)ver 2. killerjack 2014.09.20 716
202 정올 기초다지기(문자열2-자가진단2) killerjack 2014.09.27 841
201 정올 기초다지기(배열2-자가진단3) killerjack 2014.05.31 1584
200 정올 기초다지기(배열2-자가진단6) killerjack 2014.05.31 1434
199 정올 기초다지기(배열2-자가진단7) killerjack 2014.05.31 1512
198 정올 기초다지기(파일 입출력-자가진단1) killerjack 2014.11.22 1082
197 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 592
196 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 588
195 정올 기초다지기(파일입출력-자가진단4)미완성 killerjack 2015.04.11 295
194 정올 기초다지기(포인터-자가진단1) killerjack 2014.11.15 727
193 정올 기초다지기(포인터-자가진단2) killerjack 2014.11.15 398
192 정올 기초다지기(포인터-자가진단3) killerjack 2014.11.15 602
191 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 579
Board Pagination Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 26 Next
/ 26