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

 

2502번: 떡 먹는 호랑이

첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤A≤B)가 존재한다. 

www.acmicpc.net

안녕하세요.

 

i와 j에 임의의 값을 브루트포스로 넣어주면서 d일의 피보나치 수가 처음 입력한 k의 값과 맞는지 확인만 해주면 되는 간단한 문제입니다.

#include <stdio.h>

int main(void) {
    int d, k;
    int arr[31];
    scanf("%d %d", &d, &k);
    for(int i = 1; i < k; i++) {
        arr[0] = i;
        for(int j = 1; j < k; j++) {
            arr[1] = j;
            for(int l = 2; l < d; l++) { //d일의 피보나치 수를 구함.
                arr[l] = arr[l - 1] + arr[l - 2];
            }
            if(arr[d - 1] == k) { //d일의 피보나치 수와 k가 일치한다면
                    printf("%d\n%d", i, j); // arr[0], arr[1]을 출력
                    return 0;
            }
        }
    }
}

+ Recent posts