본문 바로가기

분류 전체보기414

백준 1535 안녕 문제 URL : https://www.acmicpc.net/problem/1535 1535번: 안녕 첫째 줄에 사람의 수 N(≤ 20)이 들어온다. 둘째 줄에는 각각의 사람에게 인사를 할 때, 잃는 체력이 1번 사람부터 순서대로 들어오고, 셋째 줄에는 각각의 사람에게 인사를 할 때, 얻는 기쁨이 1번 www.acmicpc.net 문제 접근법 : 전수조사 or DP 문제입니다. 저같은경우는 재귀함수로 전수조사로 필요없는 부분을 메모이제이션을 활용했지만 n=20 인지라 메모이제이션을 활용안해도 상관없을정도로 빠르게 나옵니다. 20이기에 탐색 깊이가 100만까지는 충분히 커버가 가능해서 소스코드: dfs+메모이제이션 #include using namespace std; int n,m; vector damage.. 2023. 12. 11.
백준 7579 앱 문제URL :https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 문제 접근법 : dp문제이지만 어떻게 접근하냐에따라 메모리초과 혹은 시간초과를 겪어나 맞출수있는 문제입니다. 여러번의 메모리 초과 시간초과를 겪었고 힘들게 풀었네요 처음엔 메모리를 이용해서 최소비용을 구할려다가 시간초과가 나오고 메모리와 n을 이용하면 메모리 초과가나오고 앱들과 비용을 이용해서 하면 100*10000 충분히 간으하더군요 백트래킹으로 메모이제이션을 이용하면 cost 0 부터 모.. 2023. 12. 11.
백준 13164 행복 유치원 문제 URL : https://www.acmicpc.net/problem/13164 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net 문제 접근법 : 키차이 순으로 정렬한다음 n-k개를 뽑아서 다더하면 최소비용으로 구할수있는문제입니다. 소스코드 : 파이썬코드입니다. n,k = map(int,input().split()) l = list(map(int,input().split())) r = [l[i]-l[i-1] for i in range(1,len(l))] r.sort() print(sum(r[:n-k])).. 2023. 12. 10.
백준 6543 그래프의 싱크 문제 URL : https://www.acmicpc.net/problem/6543 6543번: 그래프의 싱크 각 테스트 케이스마다 한 줄에 걸쳐 bottom(G)의 모든 노드를 출력한다. 노드는 공백으로 구분해야 하며, 오름차순이어야 한다. 만약, bottom(G)가 공집합이면 빈 줄을 출력한다. www.acmicpc.net 문제 접근법 : scc알고리즘 문제입니다. bottom(G) 를 구하기위해선 scc안에서 outdegree가 없는 노드르 찾아야합니다. 소스코드 : #include using namespace std; int n,m; vector adj,vscc; vector check,finish,st,outdegree,cscc; int id=0; int color=0; void input(){ .. 2023. 12. 10.