13023. ABCDE
13023번: ABCDE
문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다.
www.acmicpc.net
- 내 풀이
- 처음에 bfs로 풀었음 -> error
- bfs로 돌면서 cnt[start] 증가시켰는데 그러면 여러 값들과 연결된값은 그 개수만큼 +1되서 잘못계산됨
- 연결된 값들 백트래킹으로 원값 되돌려주면서 값 넘겨줘야 하기때문에 dfs + 백트래킹
- 처음에 bfs로 풀었음 -> error
def dfs(start,i, v):
global result
if v>=5:
result=1
return
for gp in graph[i]:
if visited[gp]==-1:
visited[gp]=0
dfs(start, gp, v+1)
visited[gp]=-1
n,m=map(int,input().split())
graph=[[] for _ in range(n)]
for _ in range(m):
a,b= map(int,input().split())
graph[a].append(b)
graph[b].append(a)
result=0
for i in range(n):
visited = [-1 for _ in range(n)]
visited[i]=0
dfs(i,i,1)
if result==1: break
if result==1:
print(1)
else:
print(0)
'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준] [BFS] 9019. DSLR (0) | 2023.04.15 |
|---|---|
| [백준][BFS] 9934. 완전 이진 트리 (0) | 2023.04.14 |
| [백준][BFS] 1325. 효율적인 해킹 (0) | 2023.04.14 |
| [백준] [DFS] [트리] 1967. 트리의 지름 (0) | 2023.04.12 |
| [백준] [백트래킹] 18430. 무기 공학 (0) | 2023.04.10 |