백트래킹
-
[Baekjoon Online Judge] 14889번: 스타트와 링크문제 풀이/Baekjoon Online Judge 2021. 3. 19. 14:19
14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 요구사항 - 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. - BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 ..
-
[Baekjoon Online Judge] 15650번: N과 M (2)문제 풀이/Baekjoon Online Judge 2021. 3. 18. 18:08
15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 요구사항 - 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입력 - 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 - 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. - 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. - 수열은 사전 순..
-
[Baekjoon Online Judge] 15649번: N과 M (1)문제 풀이/Baekjoon Online Judge 2021. 3. 18. 18:03
15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 요구사항 - 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 - 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 - 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. - 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. - 수열은 사전 순으로 증가하는 순서로 출력해야 한다..
-
[Baekjoon Online Judge] 1987번: 알파벳문제 풀이/Baekjoon Online Judge 2021. 2. 21. 12:24
1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 요구사항 - 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. - 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. - 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있..
-
[Baekjoon Online Judge] 14502번: 연구소문제 풀이/Baekjoon Online Judge 2021. 1. 19. 17:46
14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 요구사항 - 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. - 연구소는 크기가 N x M인 직사각형으로 나타낼 수 있다. - 연구소는 빈 칸, 벽으로 이루어져 있다. 벽은 칸 하나를 차지한다. - 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우 인접한 빈 칸으로 모두 퍼져나갈 수 있다. - 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다. - 0은 빈 칸, 1은 벽, 2는 바이러스가 있는 곳이다. 입력 - 첫째 줄에 지도의 세로 크기 N..