์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ์ฌ๊ท
- JPA
- ๋์ ํฉ
- ๋ฐฑํธ๋ํน
- dfs
- error
- ๋งต
- ์์ ์ ๋ ฌ
- CVE
- ๋ฌธ์์ด
- ์คํ
- web
- GCP
- dynamic debugging
- c++
- ์๋ฎฌ๋ ์ด์
- ๊ทธ๋ฆฌ๋
- ๋ถํ ์ ๋ณต
- thymeleaf
- Reversing
- ๊ตฌํ
- ์ฐ์ ์์ ํ
- ๋ฐ์ดํฌ์คํธ๋ผ
- DP
- java
- OS
- BFS
- ์ต๋จ ๊ฒฝ๋ก
- ์ด๋ถ ํ์
- Spring
- Today
- Total
hades
[Baekjoon] 1562๋ฒ: ๊ณ๋จ ์ ๋ณธ๋ฌธ
๐ฅ ๋ฌธ์
https://www.acmicpc.net/problem/1562
๐ ์ค๊ณ
0~9๊น์ง์ ๋ชจ๋ ์๋ฅผ ํฌํจํ๋ ๊ณ๋จ ์๊ฐ ๋ช ๊ฐ์ธ์ง ๊ตฌํด์ผ ํ๋ค.
๊ธธ์ด๊ฐ n์ธ ๊ฒ์ด n+1์ธ ๊ณ๋จ ์๋ฅผ ์ด๋ฃจ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ผ๋ฏ๋ก, ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ์ด์ฉํ๋ค.
์ฌ์ฉํ ์ซ์๋ฅผ ๊ธฐ๋กํ๊ธฐ ์ํด ๋นํธ๋ง์คํน์ ์ด์ฉํ๋ค. 9๋ง ์ฌ์ฉ๋์๋ค๋ฉด, ์ด์ง์๋ก 1000000000์ธ 512์ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
dp[์ฌ์ฉํ ์ซ์][๊ธธ์ด][๋ง์ง๋ง ์ซ์]๋ก ๊ตฌ์ํ๋ค. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ด๋ฏ๋ก, ์ด๊น๊ฐ์ ์ค์ ํด์ผ ํ๋๋ฐ, ๊ธธ์ด๊ฐ 1์ด๋ผ๋ฉด, ๊ณ๋จ ์์ ๊ฐ์๋ ๊ทธ ์๋ง ํด๋น๋๋ฏ๋ก 1๋ก ์ค์ ํ๋ค.
๊ธธ์ด๊ฐ 2 ์ด์์ผ ๋, 0์ผ๋ก ๋๋๋ค๋ฉด ๋ง์ง๋ง ์๊ฐ 1๋ง ๋๊ณ , 9๋ก ๋๋๋ค๋ฉด ๋ง์ง๋ง ์๊ฐ 8๋ง ๋๊ณ , ๊ทธ ์ฌ์ด๋ผ๋ฉด ๋ง์ง๋ง ์๋ ± 1์ด ๋๋ค. ์๋ก์ด ๋ง์ง๋ง ์๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด or ์ฐ์ฐํ์ฌ ๊ธฐ๋กํ๋ค.
๐ ํ์ด
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, MOD = 1e9;
long long dp[1 << 10][101][10];
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
if (n <= 9) {
cout << 0 << endl;
return 0;
}
for (int i = 1; i <= 9; i++) {
dp[1 << i][1][i] = 1;
}
for (int i = 2; i <= n; i++) {
for (int j = 0; j <= 9; j++) {
for (int k = 0; k < (1 << 10); k++) {
if (j == 0) {
dp[k | (1 << j)][i][j] += dp[k][i - 1][j + 1] % MOD;
}
else if (j == 9) {
dp[k | (1 << j)][i][j] += dp[k][i - 1][j - 1] % MOD;
}
else {
dp[k | (1 << j)][i][j] += (dp[k][i - 1][j - 1] + dp[k][i - 1][j + 1]) % MOD;
}
}
}
}
long long answer = 0;
for (int i = 0; i <= 9; i++) {
answer = (answer + dp[(1 << 10) - 1][n][i]) % MOD;
}
cout << answer << "\n";
return 0;
}
'๐ PS > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1202๋ฒ: ๋ณด์ ๋๋ (0) | 2024.09.19 |
---|---|
[Baekjoon] 9527๋ฒ: 1์ ๊ฐ์ ์ธ๊ธฐ (0) | 2024.09.18 |
[Baekjoon] 1509๋ฒ: ํฐ๋ฆฐ๋๋กฌ ๋ถํ (0) | 2024.09.15 |
[Baekjoon] 6198๋ฒ: ์ฅ์ ์ ์ ๊พธ๋ฏธ๊ธฐ (0) | 2024.09.13 |
[Baekjoon] 15486๋ฒ: ํด์ฌ 2 (0) | 2024.09.10 |