๐ฐ๐๐๐๐๐๐๐๐/๐ฑ๐๐๐๐๐๐๐
[๋ฐฑ์ค/Java] ํผ๋ณด๋์น ํจ์ 1003
ํด๋ฒ๋
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();
}
}
์ ๋ต
๋ฐ์ํ