1904๋ฒ: 01ํ์ผ
์ง์์ด์๊ฒ 2์ง ์์ด์ ๊ฐ๋ฅด์ณ ์ฃผ๊ธฐ ์ํด, ์ง์์ด ์๋ฒ์ง๋ ๊ทธ์๊ฒ ํ์ผ๋ค์ ์ ๋ฌผํด์ฃผ์ จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ๊ฐ์ ํ์ผ๋ค์ 0 ๋๋ 1์ด ์ฐ์ฌ ์๋ ๋ฑ์ฅ์ ํ์ผ๋ค์ด๋ค. ์ด๋ ๋ ์ง๊ถ์ ๋์ฃผ๊ฐ ์ง์์ด
www.acmicpc.net
๋ฌธ์
์ง์์ด์๊ฒ 2์ง ์์ด์ ๊ฐ๋ฅด์ณ ์ฃผ๊ธฐ ์ํด, ์ง์์ด ์๋ฒ์ง๋ ๊ทธ์๊ฒ ํ์ผ๋ค์ ์ ๋ฌผํด์ฃผ์ จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ๊ฐ์ ํ์ผ๋ค์ 0 ๋๋ 1์ด ์ฐ์ฌ ์๋ ๋ฑ์ฅ์ ํ์ผ๋ค์ด๋ค.
์ด๋ ๋ ์ง๊ถ์ ๋์ฃผ๊ฐ ์ง์์ด์ ๊ณต๋ถ๋ฅผ ๋ฐฉํดํ๊ธฐ ์ํด 0์ด ์ฐ์ฌ์ง ๋ฑ์ฅ์ ํ์ผ๋ค์ ๋ถ์ฌ์ ํ ์์ผ๋ก ์ด๋ฃจ์ด์ง 00 ํ์ผ๋ค์ ๋ง๋ค์๋ค. ๊ฒฐ๊ตญ ํ์ฌ 1 ํ๋๋ง์ผ๋ก ์ด๋ฃจ์ด์ง ํ์ผ ๋๋ 0ํ์ผ์ ๋ ๊ฐ ๋ถ์ธ ํ ์์ 00ํ์ผ๋ค๋ง์ด ๋จ๊ฒ ๋์๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ง์์ด๋ ํ์ผ๋ก ๋ ์ด์ ํฌ๊ธฐ๊ฐ N์ธ ๋ชจ๋ 2์ง ์์ด์ ๋ง๋ค ์ ์๊ฒ ๋์๋ค. ์๋ฅผ ๋ค์ด, N=1์ผ ๋ 1๋ง ๋ง๋ค ์ ์๊ณ , N=2์ผ ๋๋ 00, 11์ ๋ง๋ค ์ ์๋ค. (01, 10์ ๋ง๋ค ์ ์๊ฒ ๋์๋ค.) ๋ํ N=4์ผ ๋๋ 0011, 0000, 1001, 1100, 1111 ๋ฑ ์ด 5๊ฐ์ 2์ง ์์ด์ ๋ง๋ค ์ ์๋ค.
์ฐ๋ฆฌ์ ๋ชฉํ๋ N์ด ์ฃผ์ด์ก์ ๋ ์ง์์ด๊ฐ ๋ง๋ค ์ ์๋ ๋ชจ๋ ๊ฐ์ง์๋ฅผ ์ธ๋ ๊ฒ์ด๋ค. ๋จ ํ์ผ๋ค์ ๋ฌดํํ ๋ง์ ๊ฒ์ผ๋ก ๊ฐ์ ํ์.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000,000)
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ง์์ด๊ฐ ๋ง๋ค ์ ์๋ ๊ธธ์ด๊ฐ N์ธ ๋ชจ๋ 2์ง ์์ด์ ๊ฐ์๋ฅผ 15746์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด๊ณผ์
N | ๊ฐ์ง ์ | ์ถ๋ ฅ ๊ฐ |
1 | 1 | 1 |
2 | 00 11 | 2 |
3 | 001 100 111 | 3 |
4 | 0011 1100 1111 0000 1001 |
5 |
5 | 00001 00111 11111 10000 11100 10011 11001 00100 |
8 |
์์ ๊ฐ์ ํ์์ผ๋ก ๊ฒฝ์ฐ์ ์๋ค์ ๊ณ์ ๊ณ์ฐ์ ํด๋ณด๊ณ ์ถ๋ ฅ๊ฐ์ ๋ณด๋ค๋ณด๋ ํผ๋ณด๋์น์์ด๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ด์
ํผ๋ณด๋์น ๋ฌธ์ ํ๋ฏ์ด ์งํ์ ํ์์ต๋๋ค.
code
#include <iostream>
int t[1000001];
int dp(int n)
{
if (n == 1) return (1);
if (n == 2) return (2);
if (n == 3) return (3);
if (!t[n]) return (t[n]);
return (t[n] = ((dp(n - 1) + dp(n - 2)) % 15746));
}
int main(void)
{
int n;
std::cin >> n;
std::cout << (dp(n)) << "\n";
return (0);
}
ํ๊ธฐ
๋จธ๋ฆฌ๋ก๋ ์ดํด๊ฐ๋์ง๋ง ์ด๋ป๊ฒ ์ ํ์์ ์ธ์์ผํ ์ง ์๊ทผ ๊ณ ๋ฏผ์ ๋ง์ดํ๋ ๋ฌธ์ ์๋ ๊ฑฐ ๊ฐ๋ค.
์ํ์ ์ธ ๊ฐ๋ ์ ์กฐ๊ธ ๋ ๊ณต๋ถ๋ฅผ ๋ง์ดํด์ผํ ๊ฑฐ ๊ฐ๋ค.
'Algorithm > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2579๋ฒ - ๊ณ๋จ ์ค๋ฅด๊ธฐ (C++) (0) | 2023.08.14 |
---|---|
[๋ฐฑ์ค] 2828๋ฒ - ์ฌ๊ณผ ๋ด๊ธฐ ๊ฒ์ (C++) (0) | 2023.08.13 |
[๋ฐฑ์ค] 2097๋ฒ - ์กฐ์ฝ๋ (C++) (0) | 2023.08.11 |
[๋ฐฑ์ค] 9251๋ฒ - LCS (C++) (0) | 2023.08.09 |
[๋ฐฑ์ค] 13241๋ฒ - ์ต์๊ณต๋ฐฐ์ (C++) (0) | 2023.08.08 |