문제
현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려있다. 현수의 위치와 송아 지의 위치가 직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다.
현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요.
입력설명
첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000 까지이다.
출력설명
점프의 최소횟수를 구한다.
입력예제
5 14
출력예제
3
#include <stdio.h>
#include <vector>
#include <queue>
using namespace std;
int check[10001], d[3]={1, -1, 5};
int main(){
//freopen("input.txt", "rt", stdin);
int start, end, position, x, i;
queue<int> Q;
scanf("%d %d", &start, &end);
check[start]=1;
Q.push(start);
while(!Q.empty()){
x = Q.front();
Q.pop();
for(i=0; i<3; i++){
position = x + d[i];
if(position<=0 || position>10000){
continue;
}
if(position == end) {
printf("%d", check[x]);
return 0;
}
if(check[position] == 0){
check[position] = check[x]+1;
Q.push(position);
}
}
}
return 0;
}
'알고리즘 > it 취업을 위한 알고리즘 문제풀이' 카테고리의 다른 글
73. 최대 힙(priority_queue) (0) | 2021.06.07 |
---|---|
72. 공주 구하기(큐) (0) | 2021.06.07 |
70. 그래프 최단거리(BFS) (0) | 2021.06.04 |
69. 이진트리 넓이우선탐색(BFS) (0) | 2021.06.04 |
68. 최소 비용 (가중치 방향그래프 인접 리스트:vector, STL pair 자료구조) (0) | 2021.06.04 |