일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AVL 시간 복잡도
- 백준 1406
- 조세퍼스 순열
- 백준 17779
- c#
- 1764
- 해시 구현
- 버킷 정렬
- ㅣ풀이
- 5397
- 원판 돌리기
- 게리멘더링2
- 백준 17822
- qorwns
- 백준 1158
- 백준 5397
- 백준 2447
- 별 찍기 10
- C/C++ 구현
- 자료구조
- 해시구현
- 풀이
- heap
- 구현
- 시간 복잡도
- Stack 이란
- dfs
- 백준
- 백준 17471
- 스택의 특징
- Today
- Total
목록알고리즘 문제풀이 (223)
홍시홍의 프로그래밍
분류 시뮬레이션, 구현 요구사항 다이스의 순서가 주어졌을 때, 최대로 얻을 수 있는 점수 구하기 풀이 1. 말의 순서를 정한다 2. 순서를 정한대로 말을 출발 시켜 본다 쉬운 풀이도 있으나 나는 모든 칸에 대해서 시뮬레이션을 했다. 이렇게 풀어도 2시간 이내에는 푸는데 좋지 않은 방법이고 디버깅도 하기 어려울것이다..... 하지만 이렇게도 풀 수 있다라는걸 보여주는 풀이방법 #include #include #include #include #include using namespace std; int dice[13]; vector v; int visit[33]; int ccnt = 0; int ans = 0; int board[33] = { 0, 2,4,6,8,10, 12,14,16,18,20, 22,24,..
분류 시뮬레이션, 구현 요구사항 주어진 안내소와 정비소를 이용한 고객을 찾을 수 있도록 한다. 풀이 문제에서 주어진 대로 구현할 수 있도록 한다. 문제 주어진 조건이 복잡하다 구조체를 활용하여 현재 정비소나 안내소에 들어간 index, time, 안내소 번호, 정비소 번호를 기록할 수 있도록 한다. 1. 현재 시간에 안내소에서 나오는 애들을 빼준다 2. 현재 시간에 안내소에서 들어갈 수 있는 애들을 넣어준다 3. 현재 시간에 정비소에 나오는 애들을 빼준다 4. 현재 시간에 정비소 들어가는 친구들 넣어준다 4번에서 고객마다 정비소와 안내소를 기록해 두어서 정답을 출력할 수 있도록 한다 #include #include #include #include #include #include using namespac..
분류 브루트 포스, 구현 요구사항 모든 조건에서 구현하기 위하여 될 수 있는 꿀벌 칸은 모두 골라본다 풀이 모든 조건에서 구현하기 위하여 될 수 있는 꿀벌 칸은 모두 골라본다 고른 후, 최소 합을 구할 수 있도록 index를 고른다 ->dfs로 미리 index의 순서를 구해 놓는다 모두 고른 후, combination을 실시할 경우 중복되는 일을 많이 한다 #include #include #include #include #include using namespace std; int n,m,c; int map[11][11]; int ans=0; int visit[11]; vector v; void dfs(int cnt, int now){ if(now==m){ vector temp; for(int i=0 ; ..
분류 dfs 요구사항 요리 조합의 합이 최소로 되게 팀짜기 풀이 1. dfs로 팀을 나눈다 0팀 반, 1팀 반 2. 같은 팀끼리의 합을 구할 수 있도록 한다 #include #include #include #include #include using namespace std; int n; int map[20][20]; int visit[20]; int ans = 987654321; void dfs(int cnt, int now) { if (now == n) { if (cnt == n / 2) { int nowsum[2] = { 0, }; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j) continue; if (visit[i] ..