조회 수 565 추천 수 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 299
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1079
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2397
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10329
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4723
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8292
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18960
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37862
330 정올 기초다지기(함수2-자가진단3) killerjack 2014.07.12 1105
329 정올 기초다지기(함수2-자가진단2) killerjack 2014.07.12 804
328 정올 기초다지기(함수2-자가진단1) killerjack 2014.07.12 889
327 정올 기초다지기(함수1-자가진단8) killerjack 2014.06.07 1380
326 정올 기초다지기(함수1-자가진단7) killerjack 2014.06.07 1199
325 정올 기초다지기(함수1-자가진단6) killerjack 2014.05.31 1439
324 정올 기초다지기(함수1-자가진단5) killerjack 2014.05.31 2597
323 정올 기초다지기(포인터-자가진단7) killerjack 2014.11.15 508
322 정올 기초다지기(포인터-자가진단6) killerjack 2014.11.15 493
321 정올 기초다지기(포인터-자가진단5) killerjack 2014.11.15 540
320 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 560
319 정올 기초다지기(포인터-자가진단3) killerjack 2014.11.15 585
318 정올 기초다지기(포인터-자가진단2) killerjack 2014.11.15 391
317 정올 기초다지기(포인터-자가진단1) killerjack 2014.11.15 717
316 정올 기초다지기(파일입출력-자가진단4)미완성 killerjack 2015.04.11 274
315 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 582
314 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 582
313 정올 기초다지기(파일 입출력-자가진단1) killerjack 2014.11.22 1072
312 정올 기초다지기(배열2-자가진단7) killerjack 2014.05.31 1507
311 정올 기초다지기(배열2-자가진단6) killerjack 2014.05.31 1432
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 26 Next
/ 26