조회 수 587 추천 수 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 568
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1343
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2652
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10710
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4987
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8596
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19233
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38129
190 배열1 자가진단5 선우 2016.04.02 246
189 정올 - 실력키우기 - 소수문자열(1566) 조정미 2018.01.20 244
188 정올 반복제어문3 형성평가3 정승준 2019.02.02 242
187 정올 - 실전대비 - 선 긋기 게임(1094) - Accepted(92) 조정미 2018.06.02 240
186 절댓값 대소 구분 선우 2016.07.02 240
185 정사각형 숫자넣기 꺼꾸로(승민) 승민 2016.07.02 239
184 정올 - 실력키우기 - 윤년(2085) 조정미 2017.12.30 238
183 정올 - 실력키우기 - 연속부분최대곱 조정미 2017.12.02 236
182 정올 - 문제은행 - 내리막길(1024) - Time Limit Exceed 조정미 2018.06.23 235
181 정올 - 알고리즘 - 짚신벌레(1822) - 미완 조정미 2018.02.24 235
180 숫자두개 입력하고 큰거 작은거 구분하고 작은숫자부터 큰숫자까지 곱하기(승민) 승민 2016.03.19 235
179 정올 함수1 자가진단6 정승준 2018.12.08 233
178 반복제어문3 형성평가 7 선우 2016.03.19 232
177 배열1 자가진단8 선우 2016.04.02 230
176 정올 - 실력키우기 - 이진탐색(1295) 조정미 2018.01.06 229
175 정올 함수1 자가진단2 정승준 2018.12.08 228
174 정올 - 실력키우기 - 연속부분최대곱(리스트 출력) 조정미 2017.12.02 228
173 정올 반복제어문2 형성평가4 선우 2016.03.11 227
172 정올 반복제어문3 자가진단6 정승준 2018.03.03 223
171 원반지름구하기 2(승민) 승민 2016.08.06 223
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 26 Next
/ 26