Problem Solving/DFS, BFS26 [DFS, BFS] 백준 1167번: 트리의 지름 / 골드 3 https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net import collections n = int(input()) graph = collections.defaultdict(list) for i in range(n): row = list(map(int, input().split())) start = row[0] for j in range(1, len(row)-1, 2): next, w = row[j], row[j+1] graph[s.. 2021. 9. 1. [DFS, BFS] 백준 9466번 : 텀 프로젝트 / 골드 3 https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net import sys input = sys.stdin.readline tc = int(input()) for _ in range(tc): n = int(input()) lst = list(map(int, input().split())) visited = [False for _ in range(n)] cycle = [False for _ in range(n)] for i in range(n): if vis.. 2021. 8. 24. [DFS, BFS] 백준 16946번: 벽 부수고 이동하기 4 / 골드 2 https://www.acmicpc.net/problem/16946 16946번: 벽 부수고 이동하기 4 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 www.acmicpc.net import sys input = sys.stdin.readline x_lim, y_lim = map(int, input().split()) graph = [[x for x in input()] for _ in range(x_lim)] visit = [['0']*y_lim for _ in range(x_lim)] wall_visit = [['0']*y_lim for _ in .. 2021. 8. 13. [프로그래머스 programmers] 줄 서는 방법 / 레벨 3 https://programmers.co.kr/learn/courses/30/lessons/12936?language=python3 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr def solution(n, k): def factorial(a): if a==0: return 1 val = a while a>1: a -= 1 val *= a return val used = [0]*n global count count = 0 answer = [0]*n def dfs(c, ftr): global c.. 2021. 8. 11. [백트래킹/파이썬] 백준 2239번: 스도쿠 / 골드 4 https://www.acmicpc.net/problem/2580(문제 동일) 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net https://www.acmicpc.net/problem/2239 2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net table = [] for _ in range(9): table.ap.. 2021. 8. 5. [DFS, BFS] 백준 1043번: 거짓말 / 골드 4 https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net import collections n, m = map(int, input().split()) graph = collections.defaultdict(list) p = list(map(int, input().split())) # second line if p[0] == 0: print(m) quit() for i in range(1, p[0]): graph[p[i]].append(p[i+1]) graph[p.. 2021. 7. 26. 이전 1 2 3 4 5 다음