#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; }
2018.02.10 12:07
정올 - 알고리즘 - 벽장문의 이동(1409)
조회 수 569 추천 수 0 댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. | 좋은아빠되기 | 2019.02.15 | 485 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1242 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2557 |
공지 |
Python(파이썬) 학습 자료 PDF
1 ![]() |
좋은아빠되기 | 2014.12.10 | 10530 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4904 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8488 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 19122 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 38044 |
210 | 영단어 입력한후 그단어중 가장큰 아스키코드 구하기(승민) | 승민 | 2016.04.02 | 519 |
209 | 배열1 자가진단5 | 선우 | 2016.04.02 | 243 |
208 | 띄어쓰기까지 프로그램 출력하기(승민) | 승민 | 2016.04.02 | 1922 |
207 | scanf함수를 사용한 문자열(승민) | 승민 | 2016.04.02 | 203 |
206 | scanf함수를 사용한 배열(승민) | 승민 | 2016.03.26 | 808 |
205 | 배열 5개숫자 더히가(승민) | 승민 | 2016.03.26 | 118 |
204 | 배열 3가지 | 선우 | 2016.03.19 | 109 |
203 | 숫자두개 입력하고 큰거 작은거 구분하고 작은숫자부터 큰숫자까지 곱하기(승민) | 승민 | 2016.03.19 | 232 |
202 | 반복제어문3 형성평가 7 | 선우 | 2016.03.19 | 229 |
201 | 반복제어문3 형성평가 6 | 선우 | 2016.03.19 | 220 |
200 | 반복제어문3 형성평가 5 | 선우 | 2016.03.19 | 349 |
199 | 반복제어문3 형성평가 4 | 선우 | 2016.03.19 | 297 |
198 | 반복제어문3 형성평가 3 | 선우 | 2016.03.19 | 204 |
197 | 반복제어문3 형성평가 2 | 선우 | 2016.03.19 | 300 |
196 | 반복제어문3 형성평가 1 | 선우 | 2016.03.19 | 279 |
195 | for문 입력한숫자만큼 입력받고 평균구하기(승민) | 승민 | 2016.03.19 | 4413 |
194 | 짝수 홀수 갯수구하기(승민) | 승민 | 2016.03.12 | 1199 |
193 | 제어문 연습(완성) | 선우 | 2016.03.12 | 106 |
192 | 입력한 숫자 이하 짝수만 출력하기(승민) | 승민 | 2016.03.12 | 1421 |
191 | 정올 반복제어문3 자가진단4 | 선우 | 2016.03.12 | 205 |