본문 바로가기

PS/백트래킹3

[백준] 16987번: 계란으로 계란치기 파이썬 https://www.acmicpc.net/problem/16987문제에 서론이 좀 긴데 다 무시하고요악하자면 계란들끼리 서로 부딪쳐서 최대한 많은 계란을 깨는 문제. 각 계란에는 내구도와 무게가 있다. 계란을 부딪치면 내구도가 상대 계란의 무게만큼 감소하고, 내구도가 0 이하가 되면 계란이 깨진다.N개의 계란이 일렬로 놓여있다.왼쪽부터 차례로 계란을 들어 다른 계란을 친다.계란이 깨지면 더 이상 칠 수 없다.최대 몇 개의 계란을 깰 수 있는지 구한다.입력:첫 줄에 계란의 수 N (1 ≤ N ≤ 8)다음 N개의 줄에 각 계란의 내구도와 무게가 주어진다.출력:깨진 계란의 최대 개수를 출력.(고마워 gpt) 풀이import sys# h = 손에든 계란 번호def egg(h): global mx, count.. 2024. 7. 5.
[백준] 1759번: 암호 만들기 파이썬 https://www.acmicpc.net/problem/1759 백트래킹으로 푸는 문제.모음이 최소 한번, 자음이 최소 두번 들어가게 만들어야하는데이걸 어렵게 생각하다가생각 보다 간단하게 그냥 갯수 세는 식으로 구현하면 되겠구나 해서 바로 풀었다.풀이import sysdef func(k): global vowel, consonant if k == 0: vowel =0 consonant = 0 if k == l and vowel>0 and consonant >1: for i in range(l): print(password[i], end = '') print('') return 0 for i in range(c): if not isused[i] and (.. 2024. 6. 30.
[백준] 6603번: 로또 파이썬 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 백트래킹 문제다. 백트래킹 아직 어렵다.. 일단 백트래킹이란 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘을 말한다.. 설명만으론 아직 잘 이해가 되지않는다.. 바로 풀이 들어갑니다. 풀이 앙 일단 arr배열에 입력을 받는다. arr[0]은 사용되는 수의 개수 , arr[1] ~ arr[arr[0]]은 사용되는 수 로또로 뽑은 수를 보관하기 위해 크기가 6인 anw.. 2024. 3. 1.