https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu#none 서비스 영역의 운영 비용과 해당 영역 내의 집들을 통해 얻는 수익을 비교하여 손해 보지 않을 때 최대 집의 수를 구하는 문제이다. k를 넉넉잡아 1부터 최대 n+1까지 만들어서 서비스 영역의 중앙을 중심으로 해서 도시 전체를 스캔한다. count 함수는 해당 영역 안의 집의 수를 세는 함수이고 valid는 인덱스 범위를 검사하는 함수이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #inc..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu 가로로 m개 놓을 수 있는 겹치지 않는 두개의 구역을 모두 만들어 본다. getProfit 함수를 이용하여 각 구역 내에서 채취할 수 있는 최대 수익을 구한다. 두개의 구역의 리턴값의 합 중에서 가장 큰 값이 정답이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include #include #include #include using namespace st..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V1SYKAaUDFAWu 재귀를 이용하여 각 행에 대하여 -1(약품 안씀), 0(약품 A 사용), 1(약품 B 사용)의 모든 경우를 만들어서 합격기준을 만족하는지 확인한다. 경우의 수를 만드는 도중 약품 투입 횟수가 현재 답과 같거나 크다면 종료하고 가지치기한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include #include #include using namespace std; int t,d,w..