14번 줄을
void recur(vector< vector<int> >& input) {
으로 바꾸고, 19~20번 줄 사이에 input[y][x] = 0; 을 추가한 뒤 다시 제출해보세요. C++에서 벡터를 그냥 넘기면 레퍼런스가 아닌 복사로 넘어가게 됩니다.
2580번 - 스도쿠
14번 줄을
void recur(vector< vector<int> >& input) {
으로 바꾸고, 19~20번 줄 사이에 input[y][x] = 0; 을 추가한 뒤 다시 제출해보세요. C++에서 벡터를 그냥 넘기면 레퍼런스가 아닌 복사로 넘어가게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
CHULMING 6년 전
이 문제를 풀 때 처음에 들어오는 9x9 인풋을 전역변수가 아닌 지역변수 벡터로 받아오고,
함수를 호출할 때마다 매개변수로 벡터를 넘겨주는 형식으로 코드를 진행했을 때 시간초과를 받았는데,
혹시나 해서 벡터를 전역변수로 선언하고, 함수 호출할 때마다 값을 원래대로 돌려주는 형태로 바꿔서 제출했더니
정답을 받았습니다.
아무래도 함수호출이 많아졌을 때 매개변수 전달도 많아져서 오버헤드가 발생하는 것일까라는 생각이 들어 질문해봅니다.
(1) 전역변수 선언이 (2) 지역변수 선언 후 매개변수로 전달하는 것 보다 수행시간이 더 빠른건가요?
아니면 로직상 오류였을까요..?