백준 1003

김경욱·2025년 8월 24일

백준

목록 보기
58/121

import java.util.;
import java.io.
;

// 1 10 13 16
public class Main {
public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int N = Integer.parseInt(br.readLine());
    int[] zerocount = new int[41];
    int[] onecount = new int[41];

    zerocount[0] = 1; onecount[0] = 0;
    zerocount[1] = 0; onecount[1] = 1;




    for (int i = 0; i < N; i++) {
        int M = Integer.parseInt(br.readLine());

        for (int j = 2; j <=M; j++)
        {
            zerocount[j] = zerocount[j-1]+zerocount[j-2];
            onecount[j] = onecount[j-1]+onecount[j-2];
        }

            System.out.println(zerocount[M]+" "+onecount[M]);



    }





}

}

점화식을 만들면 상당히 빨리 풀리는 문제였다. 앞에 것끼리 더한게 다음 값이므로 이런 유형의 문제가 나오면 for문을 이용하여 점화식을 만들어봐야 할 것 같다.

0개의 댓글