해결된 질문
작성
·
40
·
수정됨
0
http://boj.kr/c5c442d82b24467fbbac115beed3793c
와 같이
저는 배열 [0][0]~[x-1][y-1]이 아니고 배열을 넉넉하게 잡아
[0][0][0][0][0][0][0]
[0] // 사용 ______ _[0]
[0] _____________ _[0]
[0] _____________ _[0]
[0]_____________ _[0]
[0]_____________ _[0]
[0][0][0][0][0][0][0] 과 같은 형태로
[1][1] ~ [x][y] 까지 활용을 했는데요. 문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?
답변 1
1
안녕하세요 저엉님 ㅎㅎ
문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?
-> 괜찮은 코드입니다. ㅎㅎ
v = std::vector<std::vector<int>>(y+2,std::vector<int>(x+2,0));
visited = std::vector<std::vector<bool>>(y+3,std::vector<bool>(x+2,0));
앞의 코드처럼 + 2를 기반으로 생성했기 때문에 오버플로, 언더플로 로직을 줄일 수 있는 강한 코드가 될 것 같습니다.
넵. 취향차이입니다. 이렇게 가셔도 무방합니다.
감사합니다.