코드#include #include #include #include using namespace std;bool cycle = false;int t,n,m,a,b,visited[1004];vector adj[1004];void FASTIO() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);}void dfs(int x) { visited[x] = 1; for(int i : adj[x]) { if(!visited[i]) dfs(i); }}int main() { FASTIO(); cin >> t; string res; while(t--) { for(int i =0; i > n; cin >> m; fo..
트리

트리 트리는 그래프의 일종으로 노드들이 나무 가지처럼 연결된 비선형 계층적 자료구조이다. 트리 용어 Node: 트리 구조의 교점으로 node는 데이터를 가지고 있고, 자식 노드를 가질 수 있음. Root Node: 트리 구조에서 가장 위에 있는 노드. 즉, 트리의 시작점이 되는 노드. Edge: 트리를 구성하기 위해 노드와 노드를 연결하는 선. Level: 트리의 특정 깊이를 가지는 노드의 집합. Degree: 각 노드가 가진 가지의 수. '차수'라고도 함 Leaf Node (Terminal Node): 하위에 다른 노드가 연결되어 있지 않은 노드. Internal Node: Leaf Node를 제외한, 중간에 위치한 노드들. 트리의 특징 트리 자료구조는 일반적으로 대상 정보의 각 항목들을 계층적으로 구..
코드 import sys from collections import deque input = sys.stdin.readline tc = int(input()) def bfs(): total = 0 queue = deque([1]) while queue: now = queue.popleft() for i in graph[now]: if not visited[i]: visited[i] = 1 total += 1 queue.append(i) return total - 1 for _ in range(tc): n,m = map(int, input().split()) graph = [[] for _ in range(n+1)] visited = [0]*(n+1) for _ in range(m): x,y = map(i..