일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 파이썬
- lcm
- 괄호
- 9095
- 최소공배수
- LCS
- Kotlin
- 6603
- Combination
- 홈화면
- 11054
- 뒤로가기
- permutation
- itertools
- 11기
- Python
- 코틀린
- 11053
- 1182
- Android
- 백준
- 앱
- expo
- 1260
- 나머지
- 매일11시
- 11057
- 코테
- 안드로이드
- 순열
Archives
- Today
- Total
황소개발자
백준 11724 파이썬 python : 연결 요소의 개수 @@황소처럼 우직하게@@ 런타임에러 해결, 시간초과 해결 본문
반응형
개떡같은 문제
import sys
sys.setrecursionlimit(10000000)
n, m = map(int, sys.stdin.readline().split())
adj = [[] for i in range(n + 1)]
visited = [False] * (n + 1)
for i in range(m):
a, b = map(int, sys.stdin.readline().split())
adj[a].append(b)
adj[b].append(a)
def fake_dfs(v):
visited[v] = True
for i in adj[v]:
if not(visited[i]):
fake_dfs(i)
count = 0
for i in range(1, n + 1):
if not(visited[i]):
count += 1
fake_dfs(i)
print(count)
아니다 훌륭한 문제다. 삽질 1시간하고 성장했다.
첫 번째, n * n 인접행렬 형태가 아니라 인접리스트로 구현해줘야된다. 이건 뭐 최적화에 필수다
(인접행렬 인접리스트 차이는 검색 ㄱㄱ)
두 번째, 재귀에 제한이(아마 디폴트 값이 1000) 걸리기 때문에 아래 코드 필수다 (재귀 제한을 설정하는 코드다)
(이걸로 런타임 에러 해결)
import sys
sys.setrecursionlimit(10000000)
그리고 마지막으로 ㅋㅋ, input()이 아니라 sys.stdin.readline() 이걸 쓰자.
(이걸로 시간초과 해결)
import sys
sys.stdin.readline()
아오..
반응형
'백준 문제 풀이' 카테고리의 다른 글
백준 1753 파이썬 python : 최단경로 @@황소처럼 우직하게@@ (0) | 2020.02.22 |
---|---|
백준 6603 파이썬 python : 독일 로또 @@황소처럼 우직하게@@ 조합 itertools combinations permutation 사용법 + 런타임에러 해결 (0) | 2020.02.21 |
백준 1260 파이썬 python : DFS와 BFS @@황소처럼 우직하게@@ 탐색순서 주의안하면 시간초과납니다;; 최적화하기. (0) | 2020.02.20 |
LCS 최장 공통 부분 수열 : 3개일 때 길이 뿐만 아니라, 부분문자열까지 찾아내기 @@황소처럼 우직하게@@ (0) | 2020.02.20 |
백준 1958 파이썬 python : LCS 3 @@황소처럼 우직하게@@ (0) | 2020.02.20 |
Comments