백준 1325번 - 효율적인 해킹입니다. https://www.acmicpc.net/problem/1325 학부 과제로 비슷한 유형의 문제를 풀어본 적이 있어 금방 해결하였습니다. 연결된 네트워크상에서 컴퓨터를 해킹할 수 있는 개수를 찾는 문제입니다. 예제 입력1을 그림으로 표현하면 이와 같습니다. 화살표는 신뢰받고있는 관계, 즉, 해킹할 수 있는 방향을 의미합니다. 이 경우에는 1 혹은 2를 해킹하면 네트워크 상의 모든 컴퓨터를 해킹할 수 있습니다. 간단하게 해결하기 위해 인접리스트를 사용합니다. 인접리스트는 그래프의 연결관계를 리스트로 표현한 것입니다. 인접 리스트는 주로 인접 행렬과 비교되는데, 노드가 N개, 간선이 E개라고 했을 때, 연결된 모든 노드를 방문하기 위해 인접 행렬은 행렬의 모든 값을..
백준 6603번 - 로또입니다. https://www.acmicpc.net/problem/1325 무난한 난이도의 문제입니다. 집합 S에서 6개의 숫자를 선택하는 문제입니다. 집합 S에서 추출할 수 있는 숫자를 찾아가면서 재귀호출 합니다. 이때 재귀의 깊이 = 추출한 숫자의 수 입니다. 집합 S에서 추출 가능여부를 확인하기 위해 S와 같은 크기의 추출 가능여부 확인용 bool 컨테이너, 출력하기 위해 추출 결과 6개를 담고 있는 추출 결과 컨테이너도 함께 넘겨줍니다. 집합 S 이외에는 반드시 복사하여 넘겨주어야합니다. 깊이가 깊어질 때마다 조합의 원소의 개수가 한 개씩 늘어납니다. 집합 S에서 마지막으로 추가한 원소보다 더 뒤에 있는 원소를 모두 추출하고(재귀호출) 마지막 깊이에서 완성된 조합을 출력하게..
- 코드포스
- 알고리즘
- prefix-sum
- 게임
- DisjointSet
- 숏코딩
- 인접리스트
- DP
- backtracking
- STL
- BigInteger
- 조합
- graph
- 재귀
- Combinatorics
- SWEA
- Brute-force
- +lv2
- greedy
- OfflineQuery
- big-o
- C
- +lv1
- 정수론
- Stack
- DFS
- C++
- 백준
- +lv3
- 슬라이딩윈도우
- Total
- Today
- Yesterday