aa2002dcks   1년 전

#include

#include

#include

using namespace std;

int ggadan[300];

int n;

int highsc = 0;

int scores[300];

int score(int hyich ,int plus) {

int s = plus;

if (s == 3)

return 0;

if (hyich == n)

return ggadan[n];

if (hyich == n - 1)

return scores[hyich] = ggadan[hyich] + score(hyich + 1, s + 1);

if (scores[hyich] != -1)

return scores[hyich];

return scores[hyich] = max(score(hyich + 1,s+1), score(hyich + 2,1))+ggadan[hyich];

}

int main() {

cin >> n;

memset(scores, -1, 300);

memset(ggadan, 0, 300);

for (int i = 1; i < n+1; i++)

{

cin >> ggadan[i];

}

cout << score(0,0);

}

plus가 3개 연속하는거 방지인데 구현이 안되는것 같아요 왜그럴까요

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