조회 수 625 추천 수 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 744
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1502
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2847
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 11232
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 5169
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8998
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19440
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38322
169 정올 기초다지기(문자열1-자가진단9)ver 1. killerjack 2014.09.20 711
168 정올 기초다지기(함수2-자가진단6) killerjack 2014.07.26 717
167 정올 - 실력키우기 - 색종이(초) (1438) 조정미 2017.12.23 721
166 정올 - 알고리즘 - 치즈(1840) 조정미 2018.05.05 722
165 정올 기초다지기(문자열1-자가진단9)ver 2. killerjack 2014.09.20 731
164 정올 - 실전대비 - 단어맞추기(1034) 조정미 2018.05.26 734
163 정올 기초다지기(포인터-자가진단1) killerjack 2014.11.15 746
162 정올 - 문제은행 - 강아지와 병아리(1001) 조정미 2018.06.23 758
161 정올 기초다지기(문자열1-자가진단6) killerjack 2014.09.20 760
160 정올 기초다지기(함수2-자가진단8) killerjack 2014.07.26 767
159 정올 대각선 지그재그 조정미 2017.11.18 769
158 정올 - 실력키우기 - 숫자고르기(1459) 조정미 2018.01.27 789
157 정올 기초다지기(함수2-자가진단5) killerjack 2014.07.26 791
156 정올 기초다지기(함수2-자가진단7) killerjack 2014.07.26 794
155 정올 기초다지기 (함수3-자가진단6) killerjack 2014.08.30 816
154 정올 기초다지기(aD003-함수3) killerjack 2014.07.12 828
153 정올 기초다지기(함수2-자가진단4) killerjack 2014.07.12 828
152 정올 기초다지기(함수2-자가진단2) killerjack 2014.07.12 831
151 scanf함수를 사용한 배열(승민) 승민 2016.03.26 831
Board Pagination Prev 1 ... 13 14 15 16 17 18 19 20 21 22 ... 26 Next
/ 26