inflearn logo
강의

講義

知識共有

10週間完成 C++ コーディングテスト | アルゴリズムコーディングテスト

3-I

17071번 메모리 초과

384

goqlwj77

投稿した質問数 4

0

안녕하세요 큰돌 선생님! 궁금한게 있어 문의 드립니다.

https://www.acmicpc.net/source/56686984

선생님 코드와 같게 작성했지만 visited 배열의 turn 부분을 다르게 작성했습니다.

선생님의 코드는 아래와 같고요

visited[turn%2][nx]= visited[(turn+1)%2][x]+1;

제가 작성한 코드는 아래와 같습니다.

visited[(turn+1)%2][nx]= visited[turn%2][x]+1;

현재 시간의 위치는 x이고, nx로 갈때의 시간은 +1 증가할 것이므로 이렇게 작성했는데 왜 메모리 초과가 났는지 알 수 있을까요?

항상 좋은 답변 감사드립니다!

 

C++ 코테 준비 같이 해요!

回答 1

0

kundol

안녕하세요 77님 ㅎㅎ

이코드요.

 if(nx<0||nx>MAX||visited[(turn + 1)%2][nx]) continue;
                visited[(turn+1)%2][nx]= visited[turn%2][x]+1;

앞의 코드처럼 되어야 하지 않을까요?

우리가 visited[nx]를 체크하고 ~~ visited[nx] = 1 이런 값을 넣듯이요.

 

나머지 부분들은 다 좋은 거 같아요. 잘 짜셨습니다.

P.S 메모리 초과는 아마 그 부분 때문에 UB가 떠서 그런 거 같아요. UB는 unexpeted behavior인데 틀린 로직이 있다면 메모리 초과, 시간초과 등이 뜰 수 있는 것들을 말합니다.

 

감사합니다.

 

1-E질문입니다!

0

512

2

3-L 틀린 부분 피드백 부탁드립니다.

0

814

2

1-A문제 순열재귀함수 질문입니다.

0

380

1

1-A 일곱난쟁이문제입니다

0

454

1

문제 풀 때 방향성에 대해

0

795

1

맥에서 vs code로 실행 관련 질문입니다

0

519

1

1-C질문입니다!

0

414

2

2-B BFS 시간초과질문

0

625

2

1-O 13번 라인

0

437

1

6-J 놀이공원 문제 질문

0

378

1

구현관련 질문

0

480

1

강의 교안

0

314

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

543

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

533

1

1-K

0

469

2

3-G번 질문있습니다.

1

467

3

3-C 실행 시간 질문드립니다.

0

490

1

4-A 문제 풀이 질문있습니다.

0

588

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

432

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

331

1

3-O go 함수 질문 드립니다.

1

439

2

4-A 출력 질문

0

301

1

1주차 1-O 질문드립니다

0

252

1

2-S (1325번 - 효율적인 해킹) 문제 질문 드립니다.

0

506

1