그냥 하는 노트와 메모장

BOJ 1765 - The Gangs 본문

Solved problems

BOJ 1765 - The Gangs

coloredrabbit 2018. 6. 30. 13:02

* BOJ 1765 - The Gangs (닭싸움 팀 정하기, https://www.acmicpc.net/problem/1765)

  [ 분류 - BFS, DFS/ DSU/ Hashing ]



  이분 그래프가 여러개 생길 수 있는 구조를 생각하자. 조건에 따르면 특정 Component A에 대해 A의 적은 단 하나 밖에 존재하지 않는다.

  따라서 자신의 적을 저장할 자료구조(Hashing)와 친구를 저장할 자료구조(인접 행렬 및 리스트/ DSU)를 정해야 한다. 


* 풀이

  친구를 저장할 때는 인접 행렬 및 리스트로 저장하는 것은 꽤 간단하다. 하지만 적을 저장할 때는 어떻게 해야 할까?


  이분 그래프이기 때문에 적을 단 하나만 저장한다. 이를 루트로 두고, 들어오는 데이터에 따라 자신의 적을 읽어들여, 적과 적을 이어주도록 한다. 우리의 적은 "현재 저장된 적"과는 친구이기 때문에 마찬가지로 인접 행렬 및 리스트에 연결을 시켜줘야만 한다. 이렇게하면 문제에서 주어진 조건대로 Components를 나눌 수 있다.


- 코드



'Solved problems' 카테고리의 다른 글

BOJ 6084 - Laserphones (레이저 통신)  (0) 2018.07.02
BOJ 5213 - TOTEM (과외맨)  (0) 2018.07.02
BOJ 3964 - 팩토리얼과 거듭제곱  (0) 2018.06.30
BOJ 1103 - 게임  (0) 2018.06.24
BOJ 2981 - 검문  (0) 2018.06.24
Comments