본문 바로가기

백준6

[BOJ | Python] 3344 N-Queen 백준 3344 N-Queenhttps://www.acmicpc.net/problem/3344 시도 1 : 백트래킹 (실패)백트래킹 예제 풀다가 변형해서 제출했는데 N 최대가 99999라서  시간 초과가나온다. N = int(input())ans = []for i in range(0, N): ans.append(-1)def queen(num): if check(num) == True: if num == N: for a in ans: print(a+1) exit(0) else: for j in range(0, N): ans[num] = j .. 2024. 12. 12.
[Python] 2133 타일 채우기 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 풀이 https://lyzqm.blogspot.com/2017/04/2133.html 2133 타일 채우기 백준 2133 타일채우기 https://www.acmicpc.net/problem/2133 1793 타일링 https://www.acmicpc.net/problem/1793 11726 2xn 타일링 https://www.ac... lyzqm.blogspot.com 위에 블로그를 참고했다. 마지막이 될 수 있는 유형은 이 세가지 이다 1,2번은 2가지 유형으로 만들어질 수 있으므로 점화식은 아래처럼 된다.. 2020. 9. 2.
[Python] 1793 타일링 DP https://www.acmicpc.net/problem/1793 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 숫자 0 ≤ n ≤ 250이 주어진다. www.acmicpc.net 풀이 N번째 타일을 채우는 방법 = N-1 타일에 1*2 타일 추가 + N-2 타일에 2*2 타일을 추가하는 방법이다. N-1번째 타일에 1칸을 추가하면 1*2 타일을 붙이는 방법 밖에는 없다. 그리고 N-2번째 타일에서 2*2 타일을 붙이는 방법은 3가지이지만 || 모양으로 붙이는 방법은 (N-1에 1*2 추가하기)와 겹치므로 N-2번째 타일에 ㅁ, = 모양을 추가하는 방법 수를 더하면된다. 그래서 점화식은 memo[i] = memo[i-1] + (memo.. 2020. 8. 31.
[Python] 비트마스킹 - 1094 막대기 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대�� www.acmicpc.net 풀이 결론부터 말하자면 입력값을 2진수로 변환했을때 1의 갯수를 찾는 문제이다. 합이 X가될때까지 계속 2로 나누고 하나를 버려야하니 2진수로 표현하는 것과 같다. 물론 구현 방식으로도 풀 수 있다. 코드 1. 입력값을 binary로 바꿔서 1의 갯수 세기 X = int(input()) answer = 0 X = bin(X) for x in X: if x == '1': answer += 1.. 2020. 8. 28.
728x90
반응형