akqjqcjs7   3년 전

위 코드가 불량 코드이고 아래 코드가 정답 코드입니다. 처음에 배열을 선언할때 field[250][250]이라하면 적은 값이 들어왔을 때 메모리 낭비를 줄이고자 2차원 포인터 배열을 전역으로 선언하고 메인에서 동적할당 한 후 입력을 받았습니다. check배열 같은 경우에는 calloc과 그냥 위치마다 0을 넣는 2가지 방법으로 접근해봤지만 둘다 제대로 실행 되지 않았습니다. 그래서 메모리 낭비를 감수해서라도 field[250][250]이런식으로 선언을 하니까 바로 문제가 풀렸습니다. 위에 코드가 제대로 돌아가지 않는 이유를 잘 모르겠습니다. 값을 입력해서 값이 제대로 들어간것도 확인을했습니다. 하지만 코드를 돌리면 22번줄을 들어가지않고 에러가 뜹니다. 이유를 알고싶습니다.

seico75   3년 전

어느 문제인지 모르겠지만, 36번 줄에서 field 를 다시 만들었습니다.

전역과 지역변수 모두에 filed 가 있어서 입력을 받을 떄 로컬 field 를 쓰게 될꺼고

dfs 에서는 전역 field 를 쓰게 되서 (값이 안들어가있는..) 문제가 될 것 같습니다.

akqjqcjs7   3년 전

아 문제 번호가 안적힌걸 확인 못했네요. 3184번 양 문제입니다. 

아... 그냥 field만 사용해서 동적할당하려했는데 새로 만들어버렸네요.. 감사합니다!

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