일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 처우산정
- BOJ
- boj #19237 #어른 상어
- 퇴사통보
- 이분탐색
- 매개변수탐색
- 연결요소
- 6987
- Docker
- 경력
- 백준
- incr
- 13908
- msSQL
- 성적평가
- @P0
- compose
- 처우협의
- upper_bound
- 기술면접
- 백트래킹
- 소프티어
- 오퍼레터
- Kafka
- softeer
- 파라메트릭
- OFFSET
- BFS
- dfs
- 물채우기
- Today
- Total
목록dfs (3)
기술 블로그
https://www.acmicpc.net/problem/1113 핵심은 높이를 2부터 입력된 최대 높이까지 각각 하나씩 채워주는 것이다. main() 함수 내의 for문 h의 의미는 "h보다 작은 곳을 찾아 높이를 딱 h까지 채우겠다."라는 의미로 해석하면 된다. 또한, dfs가 수행될 때, 바깥 쪽(행과 열이 0 또는 R - 1 또는 C - 1)일 때는 바깥 쪽으로 흘러내리므로, 이때는 답 구하는 연산에 셈하지 않는다.(bool형 변수인 stop 활용하였음) 1. 입력된 값들 중 최댓값 구하기(최대 높이 = H) 2. 2 ~ H 각각 수행 → h 3. h보다 미만인 곳을 찾아 vector에 넣어준다. 4. vector를 활용하여, dfs 수행 5. 바깥 쪽일 경우 답 구하는 연산에서 제외 6. 바깥 ..
www.acmicpc.net/problem/6987 6987번: 월드컵 www.acmicpc.net 예제 1에서 2번째 경우 계속 1이 아니라 0이 나와서 코드를 봤더니 bool chk = true;를 엉뚱한 곳에서 선언했었다. 이때문에 chk가 한 번이라도 false가 되버리면 그 후 계속 false가 되버리는 논리적인 오류가 있었다. 그래서 위치만 고쳤더니 예제 1도 맞고, 정답이었다. score[1 ~ 6][1 ~ 3] 1. (왼쪽 인덱스) A를 1로, B는 2로, ..., F는 6으로 생각하자. 2. (오른쪽 인덱스) 1은 승리, 2는 무승부, 3은 패배 #include using namespace std; int n, m; bool use[10]; int arr[10][20], score[10]..
www.acmicpc.net/problem/13908 13908번: 비밀번호 첫 번째 예제의 경우 가능한 비밀번호의 조합은 07, 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97이다. 두 번째 예제의 경우 가능한 비밀번호의 조합은 34, 43이다. www.acmicpc.net 첫 번째 코드 : 백트래킹 - 추천 두 번째 코드 : int 숫자를 string 변환하면서, for문으로 모든 경우 다 탐색(개수를 셈하여 활용하는 방식) - 비추천 첫 번째 코드의 속도가 두 번째 코드의 속도보다 더 빠르다. #include using namespace std; int n, m, answer, a[10]; vector v; void bt..