ํ•ด๋ฒ„๋‹ˆ 2023. 12. 4. 12:13
๋ฐ˜์‘ํ˜•

 

 

 

๋ฌธ์ œ

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

 

1003๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค 0์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜์™€ 1์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ํ’€์ด

์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ˆซ์ž ์นด์šดํŠธ ํ•ด์ฃผ๊ธฐ 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main {
    public static Integer fibonacci0(Integer[] fi0, int n) {
        if (fi0[n] == null) {
            fi0[n] = fibonacci0(fi0, n - 1) + fibonacci0(fi0, n - 2);
        }

        return fi0[n];
    }

    public static Integer fibonacci1(Integer[] fi1, int n) {
        if (fi1[n] == null) {
            fi1[n] = fibonacci0(fi1, n - 1) + fibonacci0(fi1, n - 2);
        }

        return fi1[n];
    }


    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int t = Integer.parseInt(br.readLine());
        Integer[] fi0 = new Integer[41];
        Integer[] fi1 = new Integer[41];

        fi0[0] = 1;
        fi1[0] = 0;
        fi0[1] = 0;
        fi1[1] = 1;

        for (int i = 0; i < t; i++) {
            int n = Integer.parseInt(br.readLine());
            bw.write(String.valueOf(fibonacci0(fi0, n) + " " + fibonacci1(fi1, n) + "\n"));
        }

        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

 

 

์ •๋‹ต

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•