인프런 커뮤니티 질문&답변
배열 할당할 때....
작성
·
300
0
int a[51][51];
bool visited[51][51];
이렇게 50이 아니라 51로 잡으시는 이유는 무엇인가요 ??
보통 50개 인데 조금씩 더 잡아야하는 경우와 그래야 하는 이유가 궁금합니다 !
그리고
fill(&map[0][0], &map[0][0] + 51 * 51, 0);
fill(&visited[0][0], &visited[0][0] + 51 * 51, 0);
올려주신 코드에서 이 부분이 없으면 백준에 제출 했을 떄 오류가 나는 이유도 궁금합니다 !
감사합니다 ~!~!
답변 1
1
안녕하세요. yskim80512님 ㅎㅎ
int a[51][51];
bool visited[51][51];
이렇게 50이 아니라 51로 잡으시는 이유는 무엇인가요 ??
보통 50개 인데 조금씩 더 잡아야하는 경우와 그래야 하는 이유가 궁금합니다 !
>> 오버플로에 대한 맞왜틀을 방지하기 위한 노하우입니다. 꼭 그래야 하는 이유는 없지만 하면 좋습니다. 이부분은 "교안"에 잘 설명되어있습니다.
그리고
fill(&map[0][0], &map[0][0] + 51 * 51, 0);
fill(&visited[0][0], &visited[0][0] + 51 * 51, 0);
올려주신 코드에서 이 부분이 없으면 백준에 제출 했을 떄 오류가 나는 이유도 궁금합니다 !
>> 문제와 전체코드를 올려주시면 더 정확한데요. 아마 테스트케이스 또는 배열을 "초기화"해야 하는 경우가 발생되서 그런것같습니다.
정확하게 보려면 문제와 전체코드를 올려주셔야 하긴 하지만 아마 위의 이유로 해야 할겁니다.
또 질문사항있으시면 언제든 말씀 부탁드립니다.
감사합니다.
강사 큰돌 올림.






감사합니다 !!!