[BOJ] 14500. 테트로미노
·
BOJ
📌 문제 제목문제 링크: BOJ 14500 🗒️ 문제 설명폴리오미노란 크기가 1x1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.크기가 NxM인 종이 위에 테트로미노 하나를 놓으려고 한다.종이는 1x1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여있는 수들의 합을 최대로 하는 프로그램을 작성하여라.시간 제한: 2초메모리 제한: 512MB세로 크기 N,..
[알고리즘] 백트래킹
·
알고리즘
현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘📕 문제 1. N과 M (1)자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복없이 M개를 고른 수열- 해결 아이디어비어있는 리스트에서 시작해 수를 하나씩 추가하면서 길이가 M인 수열이 완성되면 출력 - e.g. N: 4, M: 2 == 1부터 4까지 자연수 중 중복없이 2개를 고른 수열import sysinput = sys.stdin.readlineN, M = map(int, input().split())answer = [0] * Mvisited = [False] * (N+1)def backtrack(k): # k번째 인덱스에 값을 넣는 함수 ..