zmtn94   4년 전

어디가 잘못 된건지 모르겠네요

도와주세요 고수님들......

Juno   4년 전

else if (r == 1 && c == 0) {
        cout << 3<<endl;

}


r == 1 && c == 1로 바꾸셔야겠네요

zmtn94   4년 전

와... 이런실수를... 감사합니다

말씀해주신거 고쳤는데도 틀렸습니다라고 나오네요 ㅠㅠㅠㅠ.ㅠ

Juno   4년 전

알고리즘에 문제가 있는데 컴파일러에 따라 답이 나올 수도 있고 답이 안 나올 수도 있는 것 같습니다.

res = res + ... + solve() 구문의 우변에서 res를 먼저 참조할 수도 있고, solve를 수행한 뒤 res를 참조할 수도 있습니다.

전자의 경우 참조된 res는 항상 0이지만, 후자의 경우 res가 재귀적으로 누적되어 0이 아닌 값을 갖게 됩니다. 이 누적된 값을 또 리턴해서 누적하니 누누적(?) 되는겁니다.

일단 전자의 경우가 답이 되고요. 누누적(?)되지 않게 알고리즘을 수정해보시길..;;

zmtn94   4년 전

@junodeveloper

말씀대로 후자의 경우 처럼 res가 재귀적으로 누적되어 있었습니다. 

논리적으로 중요한 문제 알려주셔서 감사합니다. 

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