본문 바로가기

백준

(148)
돌 그룹 www.acmicpc.net/problem/12886 12886번: 돌 그룹 오늘 강호는 돌을 이용해 재미있는 게임을 하려고 한다. 먼저, 돌 세개는 그룹으로 나누어져 있으며 각각의 그룹에는 돌이 A, B, C개가 있다. 강호는 모든 그룹에 있는 돌의 개수를 같게 만들려고 www.acmicpc.net #include #include #include #include #include #include using namespace std; typedef struct { int a; int b; int c; }st; int main() { int arr[3]; for (int i = 0; i > arr[i]; } queueq; setcheck; q.push({arr[0],arr[1]..
데스 나이트 www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net #include #include #include #include using namespace std; int dx[] = { -2,-2,0,0,2,2 }; int dy[] = { -1,1,-2,2,-1,1 }; int n; int bfs(int arr[200][200],int r1, int c1, int r2, int c2) { qu..
연구소 #include #include #include #include using namespace std; int dx[] = { -1,1,0,0 }; int dy[] = { 0,0,-1,1 }; int n, m; int bfs(vectorarr, vector&virus) { queueq; int count = 0; for (auto t : virus) { q.push(t); while (!q.empty()) { int x = q.front().first; int y = q.front().second; q.pop(); for (int i = 0; i =0 && nx=0 && ny> n; cin >> m; f..
뱀과 사다리 게임 www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x > n; cin >> m; int ls[105]; memset(check,-1,sizeof(check)); memset(..
테트로미노 www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net #include using namespace std; int a[500][500]; int main() { int n, m; cin >> n >> m; for (int i=0; i a[i][j]; } } int ans = 0; for (int i=0; i= 0 && j+2 < m) { int temp = a[i][j] + a[i][j+1] + a[i][j+2] + a[i-1][j+2]; if (ans < tem..
N-Queen www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include using namespace std; int n; int dx[] = { 1,-1,0,0,1,1,-1,-1 }; int dy[] = { 0,0,-1,1,-1,1,-1,1 }; int answer = 0; void find( int check[15][15], int count , int x) { if (count == n) { answer++; return; } for (int y..
에너지모으기 www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있 www.acmicpc.net #include #include #include #include using namespace std; int maxnum = 0; int n; void findmax(int*goosle, vector&check,int energy, int sz) { if (sz == 2) { if (maxnum < energy) { maxnum = energy; } return; } for (int i = 1; i < n..
두 동전 www.acmicpc.net/problem/16197 16197번: 두 동전 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, www.acmicpc.net #include #include #include using namespace std; int dx[] = { -1,1,0,0 }; int dy[] = { 0,0,1,-1 }; int n, m; int minnum = 10000; int check[21][21][21][21]; bool over(int a, int b) { if (a = n|| b >= m) return tru..