11950번 - 2016 IOI
bdp는 각줄에 블루로 바꾸는데 필요한 갯수(누적x)
wdp는 화이트가 필요한 누적수
rdp는 레드가되는데 수정해야하는 누적수
이걸 구해서 위에서 내려오는 ubdp[i-1]이랑 bdp[i]의 합 과 wdp[i]를 비교해서 더작은수를 ubdp에 넣고
마찬가지로 아래에서 올라오는 거는 dbdp[i+1]과 bdp[i]와 rdp[i]를 비교해서 dbdp[i]에 더 작은 수를 넣고
ubdp[i-1] + bdp[i]+ dbdp[i+1]의 가장적은수를 출력하게 했는데...
비쥬얼스튜디오로는 잘나옵니다. ㅠㅠ
알고리즘에 문제가 있는 것 같습니다.
i번째에 파란색을 칠하고, 1~i-1중 파란색이 제일 아래 있는 경우가 처리되고, i+1~n 중 파란색이 제일 위에 있는 경우가 처리되면,
파란색이 최대 3줄인 경우만 처리됩니다.
반례입니다.
7 1
W
B
R
아 너무어렵네요 ㅠㅠ 문제나온지 얼마안되서 그런지 도움받을곳도없는데
어떤식으로 접근해서 푸셨는지라도 좀 알 수 있을까요??
아 대충보고 반례데이터도 맞길래 알고리즘 틀린 줄 알았는데 다시보니 알고리즘은 맞는 것 같네요.
102, 125번째 줄에 오타가 있는거 같은데 확인해보세요
아 오타고치니깐 맞았습니다 떳어요
감사합니다!!!!
댓글을 작성하려면 로그인해야 합니다.
gosupopdo 6년 전
bdp는 각줄에 블루로 바꾸는데 필요한 갯수(누적x)
wdp는 화이트가 필요한 누적수
rdp는 레드가되는데 수정해야하는 누적수
이걸 구해서 위에서 내려오는 ubdp[i-1]이랑 bdp[i]의 합 과 wdp[i]를 비교해서 더작은수를 ubdp에 넣고
마찬가지로 아래에서 올라오는 거는 dbdp[i+1]과 bdp[i]와 rdp[i]를 비교해서 dbdp[i]에 더 작은 수를 넣고
ubdp[i-1] + bdp[i]+ dbdp[i+1]의 가장적은수를 출력하게 했는데...
비쥬얼스튜디오로는 잘나옵니다. ㅠㅠ