https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5VwAr6APYDFAWu 디저트 카페 투어를 하려고 한다. 카페 종류가 겹치지 않게 사각형을 만들면서 원래 위치로 돌아오는 최대 길이의 경로를 찾아야 한다. 백트래킹을 하면서 모든 경우를 찾아본다. dfs(int x,int y,int l,int d,int c)(x,y) : 현재 위치, l : 지금까지 온 길이, d : 현재 향하는 방향, c: 지금까지 방향을 바꾼 횟수 다음 위치가 처음 출발 위치일 때 l이 4 이상이고 c가 3이나 4이어야 한다. c가 5 이상이면 사각형이 아니므로 탐색을 종료한다. 1234567891011121314151617181920..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq BFS를 깊이가 L이 될 때까지 돌려준다. 현재 파이프와 다음 파이프를 비교하여 서로 매칭될 수 있는지 확인하면서 예외 처리에 주의한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103#include #include #inc..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq 1~12월까지의 수영장 이용 계획이 있고 1일, 1달, 3달, 1년 이용권의 요금이 주어질 때, 모든 이용 계획을 커버하는 최소 비용을 구하는 문제이다. 재귀함수를 적절히 설계해서 모든 경우를 찾아서 그 중 최소값을 구하면 된다. go(now,cost) = 현재 위치가 now이고 지금까지 쓴 비용이 cost ans의 초기값을 1년 이용권으로 두고 1. 1일 이용권 사용시 cost에 해당 월 (now) 이용 날짜 * 1일 이용권 사용비용을 더해주고 위치를 1 더한다.2. 1달 이용권 사용시 cost에 1달 이용권 사용비용을 더해주고 ..