목록전체 글 (229)
DevKim
www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 그래프 문제의 감이 잡히는 문제 from collections import deque import sys que = deque() n, m = map(int, sys.stdin.readline().rstrip().split()) List = [] dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] for i in range(n): List.append(list(map(int, sys.stdin.readline().rstrip(..
www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net pypy3로 넣으면 통과, python3로 제출하면 시간초과가 난다 뭐가 문제일까?! 더 효율적으로 풀 수 있는 방법을 더 생각해봐야겠다 #pypy3로 넣으면 통과, python3로 넣으면 시간초과..뭐가 문제일까?! from collections import deque import sys stack=deque() n, m = map(int, sys..
www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net from collections import deque import sys N = int(sys.stdin.readline()) for i in range(N): que = deque() n = int(sys.stdin.readline()) visited = [0] * n graph = {i: [] for i in range(1, n + 1..
www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net from collections import deque import sys def BFS(): que = deque() # 토마토가 있는 모든 값들을 먼저 넣어주자! for a in range(n): for b in range(m): if List[a][b] == 1: que.append([a, b]) while que: p = que.popleft() x = p[0] y = p[1] for k ..
www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다. www.acmicpc.net 메모리 초과, 시간 초과.. 난리가 났던 문제다 ㅎㅎ 메모리 초과를 해결하면 시간초과가 나고~~~~~아이고야 마지막으로 생각해낸건, 조합을 구한 후에 0을 찾는 것이 아닌, 0이 어떻게 생겨나는지 생각해보았다 바로 2,5의 개수를 세고, 2와 5의 개수중에 작은 수를 택하면된다 오답노트를 작성하자면.. #메모리초과 #메모리 초과 from itertools import combinations #팩토리얼 구하기 def func(n): if n==0: return 1 else..
www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net #n이하의 소수들만 남기기 def func(n): k=0 List=[1]*(n+1) List[0]=0 List[1]=0 result=[] for i in range(n+1): if List[i]==1: for j in range(2*i,n+1,i): List[j]=0 for i in range(2,n+1): if List[i]==1: result.append(i) return result n=int(input()) List=func(n) if n!=1: while True: if n==1: break for i in List: w..
www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 정답률이 낮은 문제!!!! 왜냐고!!!! 왜긴왜야.. 또 시간초과지 뭐.. ㅎ ㅎ ㅎ ㅎ 에라토스테네의 체를 이용하였는데도 시간 초과가 발생했다. 그 문제를 살펴보니 #시간 초과의 이유 #1.에라토스테네스의 체를 이용하여 홀수인 소수를 구하는 과정에서 n이 입력될때마다 에라토스 함수를 돌림 #2.함수 내에서 홀수인 소수를 저장하는 리스트를 따로 생성함 #3.처음에 a 인 부분을 구하면 그..
www.acmicpc.net/problem/11576 11576번: Base Conversion 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 www.acmicpc.net 2015 인하대학교 프로그래밍 경시대회 B번에 나온 문제 import sys A, B = map(int, sys.stdin.readline().rstrip().split()) n = int(sys.stdin.readline().rstrip()) List = list(map(int, sys.stdin.readline().split())) cnt = 0 k = 0 for i in range(n -..