ks610126ks   1년 전

도무지 반례를 찾을 수 없어서 질문 드립니다.

우선 NKB를 입력받은뒤

고장난 신호등 번호를 (전체 번호 0으로 초기화됨) 벡터에 1로 표시해줍니다.

이후 temp=0으로 초기화 해주고 B개중에 고장난 수인 sum은 최대 고장난 개수로 초기화 해주었습니다.

이후 i=0부터 전체 신호등의 개수 -고장난것의 개수 +1 까지 반복해줍니다.

N=5, k=3, B=1  의 경우

총 3번 반복 해야하므로 i=0, 1, 2까지 반복되어야합니다.

즉 N-K+1 보다 작게 해야하므로 for문을 밑과 같이 설정하였습니다.

다음으론 K개 연속해야 하므로 0부터 K보다 작을 때까지 총 K번 반복하여

v벡터 안에 있는 값이 1인경우 temp를 ++ 하였습니다.

이때 sum 보다 temp가 작을 경우 K 범위 안에 최소로 작은 경우를 업데이트 해줘야 하므로 sum=temp 해주었습니다.

반복후 가장 작은 값인 sum을 출력해줍니다.

zenith82114   1년 전

문제에서 인덱스를 0부터 쓰는지 1부터 쓰는지 꼭 확인합시다.

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