inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-A

3-A 완탐 시간초과 질문

해결된 질문

112

김찬민

작성한 질문수 9

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

http://boj.kr/32d8365f752d4ea7a3ec61b9ad94f90c

안녕하세요 큰돌님. 저의 풀이는 combi 함수가 아닌 원복을 하며 완전탐색으로 풀이를 진행했습니다.

하지만 시간초과가 발생하여 어느 부분에서 시간 초과가 발생하는지, 그리고 시간초과가 발생하지 않을 라면 저의 코드에서 어떤 부분을 수정해야 하는지 알 수 있을까요??

항상 좋은 강의 해주셔서 감사드립니다 :)

c++ 코딩-테스트

답변 1

0

큰돌

안녕하세요 찬민님 ㅎㅎ

	for (auto it : chi)
	{
		if (visited[it.first][it.second]) continue;
		visited[it.first][it.second] = 1;
		select_chi.push_back(it);
		go();
		visited[it.first][it.second] = 0;
		select_chi.pop_back();
	}

이 코드를 보시면 이 재귀함수의 시간복잡도를 알 수 있는데요.

chi의 최대 크기는 13.

함수당 기저사례인 m까지 진행하므로 최대 13^m정도의 시간복잡도임을 알 수 있습니다.

여기서 m의 최대는 마찬가지로 13입니다. 즉, 13^13의 큰 시간복잡도를 가지기 때문에

시간초과가 발생하는 것 같습니다.

 

감사합니다.

코딩살구클럽 문의

0

7

1

코딩살구클럽 승인

0

18

2

DP 경우의 수 설명이 이해가 되지 않습니다.

0

27

2

3-F 채점 관련 질문

0

24

1

BFS, DFS 활용이 되는 상황에서의 방향성

0

28

2

코딩살구클럽 승인

0

41

2

코딩살구클럽승인

0

33

3

코딩살구클럽 승인

0

48

2

3-D 관련 질문

0

35

2

코살구 회원가입 문의

0

43

2

코살구 로그인 문제

0

65

2

3-A 문제 풀이 관련 질문

0

53

3

2-O 질문 있습니다

0

38

2

2-T 문제에 관한 질문

0

40

2

코딩 살구 클럽 접속 및 사용방법 문의

0

61

2

안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~

0

64

2

코딩살구클럽 로그인문제

0

78

3

코딩 살구 클럽 로그인 문제

0

82

2

2-J 채점관련 질문

0

65

3

코딩 살구 클럽 Python 지원 가능 여부

0

77

1

살구클럽 아이디 없음 문제

0

76

1

1-O 코딩살구클럽 채점관련 질문

0

60

2

히든 테스트 케이스가 사라졌습니다

0

57

1

채점서버 혹시 다른 언어 지원도 가능하게 해주실 수 있나요

1

74

2