목록2024/03 (34)
득이공간
17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net #include using namespace std; int House[16][16]; int DP[16][16][3]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N; cin >> N; for (int i = 0; i > House[i][j]; } }..
15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #include using namespace std; int N, M; bool Visit[8]; int Seq[8]; void Print() { for (int i = 0; i M; DFS(0); } DFS & 백트래킹 문제입니다. 중복없이 M개를 고른 수열을 출력해야하기 때문에 방문 체크 배열을 따로 관리하면서 각 경우를 탐색하도록 했습니다.
15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net #include using namespace std; typedef pair location; int N, M, H, C; location House[100]; location Chicken[13]; bool Check[13]; int Min = 1000000000; int GetChickenDistance() { int Sum = 0; for (int h = 0; h < H; ++h) { int Distance = 1000000000; fo..
12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net #include using namespace std; int DP[101][100001]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N, K; cin >> N >> K; for (int i = 1; i > Weight >> Value; for (int w = 0; w