안녕하세요.
C언어로 WEIRD 문제를 풀려고 Backtracking, DP 등등을 참고해가면서
부분집합의 해를 구하는 알고리즘을 찾아서 풀었는데 계속 시간초과가
나네요... 제가 생각했을 때에는 제가 구현한 아래의 진약수로 구성된
집합의 부분집합의 해를 구하는 과정에서 시간이 오래걸리는 거 같습니다.
재귀호출로 구현하면 안되는건가요?
혹시 몰라 전체 소스코드를 두번째 문단에 추가합니다.
// set은 진약수들이 들어있는 배열로, qsort를 가져다가 정렬했습니다.boolchkSumSameNum(int*set,intlen,intsum,inttarget){if(sum==target)returntrue;if(sum<target||target<0)returnfalse;if(chkSumSameNum(set,len-1,sum-set[len-1],target-set[len-1]))returntrue;returnchkSumSameNum(set,len-1,sum-set[len-1],target);}
jungmin1237
안녕하세요.
C언어로 WEIRD 문제를 풀려고 Backtracking, DP 등등을 참고해가면서
부분집합의 해를 구하는 알고리즘을 찾아서 풀었는데 계속 시간초과가
나네요... 제가 생각했을 때에는 제가 구현한 아래의 진약수로 구성된
집합의 부분집합의 해를 구하는 과정에서 시간이 오래걸리는 거 같습니다.
재귀호출로 구현하면 안되는건가요?
혹시 몰라 전체 소스코드를 두번째 문단에 추가합니다.
4년 전