백준215 백준 15573 채굴 (c++) 문제 URL : https://www.acmicpc.net/problem/15573 문제 접근법 :bfs + parametric search의 혼용문제입니다.D를 1부터 bfs탐색하시면 시간초과라는것은 바로 알겁니다. 그럼 적당한값을 줘야한다는건데바로 그생각만하면 이분탐색을 이용해야한다는것을 느낄것입니다. bfs탐색은 외부에서부터 해야하는데 외부라면사이즈 크기를 더크게 잡아야합니다. 그러나 바닥은제외이므로그림으로 설명하자면를 외부로 만들어서 0,0에서 bfs를 돌려서 코드를 줄일수있겠죠?물론 정사이즈로 만들어서 바깥부분부터 탐색해서 bfs를돌려도 됩니다. 좀 번거롭기 하겠지만요 소스코드 : #include using namespace std;int board[1003][1003];int check[10.. 2024. 12. 20. 백준 2637 장난감 조립(python) 문제 URL : https://www.acmicpc.net/problem/2637 문제 접근법: 위상정렬 문제입니다.n이 완성품이고n에서 출발해서 어떤 조립품이 있는지 확인합니다.물론 indegree를 줄여가면 탐색해야겠지만outdegree가 없는것이 기본 부품이기때문에outdegree가 없는것도 확인해줘야 기본부품만 출력할수있습니다. 소스코드 : from collections import dequen= int(input())m = int(input())adj = [[] for i in range(n+1)]indegree =[0]*(n+1)outdegree =[0]*(n+1)res = [0]*(n+1)for i in range(m): a,b,c =map(int,input().split()).. 2024. 12. 18. 백준 4779 칸토어집합(python) 문제 URL : 재귀를 이용한 분할정복 문제의 기초문제죠3^n 길이를 잡고 1/3씩 길이를 잘르는 것이 핵심입니다. 소스코드: import sys#sys.stdin = open("input.txt","r")def dfs(l): if len(l)==1: print(l[0],end='') return dfs(l[:len(l)//3]) for i in range(len(l)//3,len(l)*2//3):print(' ',end='') dfs(l[len(l)*2//3:])while True: try: n = int(input()) l = list('-'*(3**n)) dfs(l) print() excep.. 2024. 12. 17. 백준 20955 민서의 응급 수술(c++) 문제 URL : https://www.acmicpc.net/problem/20955 문제 접근법 : union find를 이용하는 문제입니다.트리의 성질을 아냐모르냐 의문제입니다.트리는 반드시 n개의 노드에서 n-1개의 간선이 기때문에이미 같은집합이면 그집합을 또 간선을 추가할 필요가없고 같은집합이 아니면 어떤노드는 상관없이 같은집합안에서 어떤노드간에 간선하나만 추가하면 트리가 구성됩니다. 소스코드 : //By 콩순이냉장고#includeusing namespace std;#define ll long longll n,m;vector parent;int res = 0;int find(int idx){ if(parent[idx]==idx)return idx; return parent[idx]=fi.. 2024. 11. 30. 이전 1 2 3 4 5 6 ··· 54 다음