일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 조합론
- LIS
- 백준 숨바꼭질5
- C++ 1918
- 백준 17071
- C++ 1937
- BFS
- c언어
- 백트래킹
- DFS
- 투포인터
- 조합
- 프로그래머스
- 문자열
- C++
- 알고리즘
- DP
- Backtracking
- 백준
- 소트 게임
- 다익스트라
- 위상정렬
- C++1167
- C++ 17071
- 인덱스 트리
- 가장 긴 증가하는 부분 수열
- C++1967
- 순열
- strtok
- 16933
- Today
- Total
목록조합론 (2)
블로그
골드 Ⅲ #include #define MAXK 1000000000 using namespace std; int N, M, K; int nCm[201][201]; void solve(int l, int m, int k) { if (l == 0) return; if (nCm[l -1][m] < k) { printf("z"); return solve(l - 1, m - 1, k - nCm[l - 1][m]); } else { printf("a"); return solve(l - 1, m, k); } } int main() { scanf("%d%d%d", &N, &M, &K); for (int i = 0; i nCm[N + M][M]) printf("-1"); else solve(N + M, M, K); } ..
실버 Ⅴ #include #include #define MAXN 10 using namespace std; int n, k; int Top; int cards[MAXN]; bool Visit[MAXN]; int D[MAXN]; set s; void backtracking() { if (Top == k) { //만들어진 숫자 SET에 넣기 int tmp = 0; for (int i = 0; i %d ", cards[D[i] - 1]); //자기 길이만큼 원래 있던거 밀어줌 int tens = cards[D[i] - 1]; do { tmp *= 10; } while (tens /= 10); //자기 더해줌 tmp += cards[D[i] - 1]; //prin..