barcelonamessi   7년 전


while True:

사람 큐에아무도없으면 게임종료 --> ("IMPOSSIBLE")

1. 불을 이동시킴

불이동조건 : 아무것도 없는곳 이거나 사람일 때만 이동

2. 사람을 이동시킴

사람 이동조건 : 아무도 없는곳에만 이동시킴 , (건물 밖인경우 -> 바로 게임 끝냄)


인데 자꾸 런타임 에러가 뜹니다...


런타임 에러면 무한루프이든지, 배열 인덱스를 잘못 짚었든지 일 것 같은데 모르겠습니다..



xowns9418   7년 전

일단 저도 저런식으로 visit배열을 만들지 않고해서  런타임 5번 발생했습니다. 제 예상은 큐에 너무 많은 데이터가 삽되서 그러지 않나 예상됩니다.  위에 코드를 보시면 상근이가 갈수 없는 곳은 '*', '#', '@'이고  불이 갈수 없는 곳은  '#', '*'로 코드를 짜셨는데  이렇게 되면 불이 옮겨 질때  삽입되는 좌표와 상근이가 갈수있는 좌표 둘이 같은 값을 갖는 중복값이 큐에 삽입될수 있습니다. N범위가 커진다면 그 중복데이터의 양은 더많아져서 큐가 터지는거같습니다. 그래서 저는 visit배열 을만들어서 불을 먼저 옮기고 상근이를 옮기는 방법으로 데이터 중복을 없얘니까 통과하였습니다.

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