yonghole   3년 전

안녕하세요, 저는 list를 이용해 문제를 구현했고, 문제에서 주어진 테스트케이스나 질문 게시판에 있는 반례들은 통과가 되는 것을 확인하였습니다. 

가장 큰 땅의 경우에도 통과가 되는 것을 확인했는데, 채점 서버에 제출을 하면 시작하자마자 런타임에러(segfault)가 발생합니다. 

혹시 제가 놓치고 있는 부분이 있는지 질문드립니다. 

감사합니다. 

코드 설명 : 

배열 -> 

energy = 각 땅의 양분

s2d2 = 로봇이 매년 충전할 양분

deadEnergy = 나무가 죽으면서 남길 양분

변수 -> 

totalTree = 전체 나무 개수

구조체 -> 

soil : 땅의 한 칸을 나타내며, 땅에 있는 나무 개수와 땅에 있는 나무들의 list로 구성됨. list는 나무들의 나이를 가지고 있음. 

yonghole   3년 전

여러 반례를 테스트 하던 중 EXC_I386_GPFLT 라는 Exception을 발견하였습니다 !! 

다만 이 에러의 원인은 찾지 못하였습니다 ㅠㅠ 

에러가 발생하는 코드는 48번 줄입니다!

yonghole   3년 전

해결했습니다. 

원인은 

1. list에 for(auto : L) 이걸로 순회할 때는 원소에 변화가 생기면 안됨
2. list는 일반적으로 deque나 배열과 같은 자료구조보다 특정 연산의 속도가 빠를 수는 있지만 전체적인 시간이 느림

이 두 가지였습니다!

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