kimdh425   4년 전

한달이 넘는 사투끝에 해결했습니다..

먼저 아무리봐도 맞는데 틀렸다고 나오는경우는 

.

1. n개의 문자가 모두 "N" 으로 입력되면서 p=0 이면 0을 리턴해야함

켜진 발전소는 없지만 0개이상 켜져있으면 되므로 처음부터 만족함

.

2. n개의 문자가 모두 "N" 으로 입력되면서 p=0 이 아니면  -1을 리턴해야함

켜진발전소가 없는데 1개이상의 발전소가 켜져있어야하는건 불가능

.

3. 애초에 Y의 개수보다 p값이 작거나 같을때 0을 리턴해야함

켜져있는 발전소가 켜야할 발전소보다 많거나 같으면 처음부터 가능한것이고 따라서 비용은 0

따라서 p가 0이면 항상 0을 리턴.

.

4. 코드상 오류.. 이부분은 예제 만들어서 시도해보는수밖에ㅠ

.

시간초과의 경우

먼저 이문제를 풀때 bitmask와 dp를 사용해서 코드를 짰는데 계속 시간초과가 났습니다.

힌트는 이미 재귀로 돌아서 중복을 없애주는 dp와 별개로 진입할 필요가 없는 함수를 걸러내줘야합니다.

이 문제에서는 최소치를 구하는것이므로 재귀도중 현재까지 비용이 최소치를 넘어버리면 그 뒤는 볼필요가없습니다

crypt9   3년 전

몇시간을 헤메다가 님 덕분에 풀었네요... 좋아요 누르고 갑니다.


"3. 애초에 Y의 개수보다 p값이 작거나 같을때 0을 리턴해야함"

==> 요걸 생각 못해서 계속 헤맸습니다.

cyclone472   3년 전

덕분에 해결했습니다.... 너무 감사합니다......

p_ce1052   3년 전

p=0일 수 있군요 ㅋㅋㅋㅋ

댓글을 작성하려면 로그인해야 합니다.