본문 바로가기

Algorithm/BAEKJOON

(182)
[BOJ] 5373번 큐빙 (C++) https://www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net #include using namespace std; char cube[6][3][3]; // 위, 아래, 앞, 뒤, 왼, 오 void make_cube() { for (int k = 0; k < 6; k++) { switch (k) { case 0: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cube[0][i][j] = 'w'; } ..
[BOJ] 1967번 트리의 지름 (C++) https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net #include #include using namespace std; int n; vector tree[10001]; bool visited[10001]; int max_len = 0; int end_node = 0; void dfs(int node, int len) { if (visited[node]) return; visited[node] = true; if (len > m..
[BOJ] 2961번 도영이가 만든 맛있는 음식 (C++) https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net #include #include using namespace std; int n; int ans = 987654321; int ingredients[10][2]; int main() { cin >> n; for(int i = 0; i > ingredients[i][0]; cin >> ingredients[i][1]; } int noc = 1
[BOJ] 16932번 모양 만들기 (C++) https://www.acmicpc.net/problem/16932 16932번: 모양 만들기 N×M인 배열에서 모양을 찾으려고 한다. 배열의 각 칸에는 0과 1 중의 하나가 들어있다. 두 칸이 서로 변을 공유할때, 두 칸을 인접하다고 한다. 1이 들어 있는 인접한 칸끼리 연결했을 때, 각각의 www.acmicpc.net #include #include #include #include #include using namespace std; int n, m; int arr[1000][1000]; bool visited[1000][1000]; int group[1000][1000]; int group_num = 1; vector group_size; int answer = -1; int dx[4] = { -1..
[BOJ] 23352번 방탈출 (C++) https://www.acmicpc.net/problem/23352 23352번: 방탈출 첫줄에 지도의 세로 크기 $N$($1 \le N \le 50$), 가로 크기 $M$($1 \le M \le 50$)이 공백을 두고 주어진다. 둘째 줄부터 $N$줄에 걸쳐 각 방들의 정보 $A$($0 \le A \le 9$)가 공백을 두고 주어진다. www.acmicpc.net #include #include #include using namespace std; int n, m; int maxlength = -1, answer; int map[50][50]; bool visited[50][50]; int dx[4] = { -1, 0, 0, 1 }; int dy[4] = { 0, -1, 1, 0 }; void init(..
[BOJ] 3055번 탈출 (C++) https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net #include #include #include using namespace std; int r, c, bx, by; int answer = 0; char map[50][50]; queue waterq; queue sq; int dx[4] = {-1, 0, 0, 1}; int dy[4] = {0, -1, 1, 0}; void bfs(){ while(!sq.empty()){ //for(int i = 0; i <..
[BOJ] 2143번 두 배열의 합 (C++) https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net #include #include #include using namespace std; int t, n, m; vector a, b, v, w; int main() { cin >> t; cin >> n; for(int i = 0; i > x; a.push_back(x); } ci..
[BOJ] 2166번 다각형의 면적 (C++) https://www.acmicpc.net/problem/2166 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net #include #include #include using namespace std; int n; vector v; long double solve(int i, int j){ long double x1 = v[0].first, y1 = v[0].second; long double x2 = v[i].first, y2 = v[i].second; long double x3 = v[j].first, y3 = v[j].second;..