int path2(int y, int x) {
if (y == n - 1) return triangle[y][x];
int & ret = cache2[y][x];
if (ret != -1) return ret;
return ret = max(path2(y + 1, x), path2(y + 1, x + 1)) + triangle[y][x];
}
대충 이런 코드인데
왜 굳이 int &ret 선언을 하는거임?
그냥 cache2값 직접적으로 리턴하면서 다뤄도되지않음?
코드가 더 짧아져서
참조자 쓰면 덜 헷갈림
dp 메모이제이션 하는 배열이 4차 넘어가면 이거 다 일일이 치고있을거?
글킨하네...
ps도 cp로 가정하고 하는게 대부분인데 cp에서 알고리즘설계하는것도 중요하지만 코딩시간 줄이는겅도 중요해서
cache[here][idx][left][right] 이런거 여러번 치느니 그냥 바로 자살함 ^^7