페이지

5014번: 스타트링크

https://www.acmicpc.net/problem/5014


$O(f)$

이동 가능한 위치 중 목표에 가깝도록 이동한다. f번 이상 이동해도 목표에 도착하지 못한다면 불가능한 경우이다.


#include<cstdio>
int f, s, g, u, d;
int main() {
    scanf("%d %d %d %d %d", &f, &s, &g, &u, &d);
    for (int r = 0; r < f && 0 < s&&s <= f; r++) {
        if (s == g) {
            printf("%d", r);
            return 0;
        }
        s -= s > g&&s > d || s<g&&s + u>f ? d : -u;
    }
    puts("use the stairs");
    return 0;
}

댓글 없음 :

댓글 쓰기