본문 바로가기

728x90
반응형
SMALL

분류 전체보기

(566)
백준 9466번 [텀 프로젝트](C++) -yes6686- 티스토리 백준 문제 풀이: 9466 (텀 프로젝트)문제 링크: https://www.acmicpc.net/problem/9466문제 설명:N명의 학생들이 각각 한 명씩만 선택하여 사이클을 이루는 구조에서, 팀을 이룰 수 있는 사람들의 수를 파악하는 문제입니다.선택 관계는 방향 그래프로 표현되며, 사이클을 이루는 사람만이 팀이 됩니다. 팀을 이룰 수 없는 학생의 수를 출력해야 합니다.문제 해결 코드// 백준 9466 - 텀 프로젝트#include #include #include #include using namespace std;vector v[100001];queue q;int visited[100001];int checked[100001];void dfs(int s, int x, int d) { int k..
백준 16488번 [피카츄가 낸 어려운 문제](C++) -yes6686- 티스토리 백준 문제 풀이: 16488 (피카츄가 낸 어려운 문제)문제 링크: https://www.acmicpc.net/problem/16488문제 설명:길이 N인 이등변삼각형 ABC에서 밑변 BC 위에 점 P1 ~ PK를 찍고, 다음과 같은 함수를 정의합니다.F(i) = (APi의 길이)2 + (BPi의 길이) × (CPi의 길이)모든 i = 1부터 K까지의 F(i) 값을 합산한 결과를 출력하는 문제입니다.문제 해결 코드// 피카츄가 낸 어려운 문제 (백준 16488)#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); long long N, K; cin >> N >> K; // F(i..
백준 5427번 [불](C++) -yes6686- 티스토리 백준 문제 풀이: 5427 (불)문제 링크: https://www.acmicpc.net/problem/5427문제 설명:2차원 빌딩 내부에서 상근이는 불이 번지기 전에 빌딩을 탈출해야 합니다. 상근이는 한 칸씩 상하좌우로 이동할 수 있고, 불도 동일하게 상하좌우로 퍼져 나갑니다. 벽('#')은 통과할 수 없으며, 상근이가 경계 밖으로 나가면 탈출 성공입니다. 불이 먼저 도착하는 칸은 상근이가 갈 수 없습니다. 탈출에 필요한 최소 시간(초)을 출력하며, 불가능할 경우 IMPOSSIBLE을 출력합니다.문제 해결 코드// 5427번: 불// 두 번의 BFS (불 → 상근이), 불보다 먼저 도착하는 경로만 이동 가능#include #include #include using namespace std;int dx[..
백준 1600번 [말이 되고픈 원숭이](C++) -yes6686- 티스토리 백준 문제 풀이: 1600 (말이 되고픈 원숭이)문제 링크: https://www.acmicpc.net/problem/1600문제 설명:원숭이가 일반적인 상하좌우 4방향 이동 외에도, 최대 K번까지는 말처럼 L자 점프(8방향)를 할 수 있을 때, (0,0)에서 (w-1,h-1)로 이동하는 데 필요한 최소 이동 횟수를 구하는 문제입니다. 맵에는 장애물(1)이 있을 수 있고, 점프는 장애물을 넘을 수 없습니다. 이동 불가능한 경우 -1을 출력합니다.문제 해결 코드// 1600번: 말이 되고픈 원숭이// 일반 이동 + 말 점프(BFS) with 3차원 visited 배열#include #include using namespace std;int arr[201][201]; // 격자 정보..
백준 3055번 [탈출](C++) -yes6686- 티스토리 백준 문제 풀이: 3055 (탈출)문제 링크: https://www.acmicpc.net/problem/3055문제 설명:고슴도치가 물을 피해 비버의 굴로 탈출해야 하는 시뮬레이션 문제입니다. 지도에는 물(*), 돌(X), 비버의 굴(D), 고슴도치(S), 빈 공간(.)이 있으며, 매 시간마다 물은 인접한 칸으로 퍼지고, 고슴도치는 물이 퍼지기 전의 빈 칸 또는 굴로 이동할 수 있습니다. 고슴도치가 굴에 도달할 수 있는 최소 시간을 출력하거나, 불가능한 경우 "KAKTUS"를 출력합니다.문제 해결 코드// 3055번: 탈출// 물 확산 BFS → 고슴도치 이동 BFS (물보다 먼저 도착해야 함)#include #include #include using namespace std;int arr[51][51]..
백준 7571번 [점 모으기](C++) -yes6686- 티스토리 백준 문제 풀이: 7571 (점 모으기)문제 링크: https://www.acmicpc.net/problem/7571문제 설명:2차원 격자 평면 위에 m개의 점이 주어질 때, 이 점들을 한 위치로 옮기는 데 필요한 최소 이동 거리의 합을 구하는 문제입니다. 각 점은 상하좌우 방향으로만 움직일 수 있으며, 한 점을 다른 점의 위치로 옮길 수 있습니다.최소 이동 거리의 합을 구하기 위해서는 모든 점을 특정 위치로 이동시킬 때 거리 합이 최소가 되는 좌표를 찾아야 합니다. 이 좌표는 각각 x좌표와 y좌표의 **중앙값(median)**을 기준으로 결정됩니다.문제 해결 코드// 7571번: 점 모으기// 모든 점을 median 좌표로 이동시키는 것이 최적해#include #include #include using..
백준 5766번 [할아버지는 유명해!](C++) -yes6686- 티스토리 백준 문제 풀이: 5766 (할아버지는 유명해!)문제 링크: https://www.acmicpc.net/problem/5766문제 설명:n명의 학생이 m개의 경기에 참가하여, 각 경기마다 1명의 학생이 승리한다. 경기 결과가 주어질 때, 전체 승리 횟수가 두 번째로 많은 학생(들)의 번호를 오름차순으로 출력하는 문제이다.즉, 각 번호가 몇 번 승리했는지를 카운팅한 뒤, 승수 기준으로 정렬하여 두 번째로 높은 승수를 가진 사람을 출력하면 된다.문제 해결 코드// 5766번: 할아버지는 유명해!// 승수 기준으로 정렬 후, 두 번째로 높은 승수를 가진 학생들 출력#include #include #include using namespace std;pair arr[10001]; // {승수, 학생 번호}// ..
백준 30456번 [바닥수](C++) -yes6686- 티스토리 백준 문제 풀이: 30456 (쿠의 바닥수)문제 링크: https://www.acmicpc.net/problem/30456문제 설명:쿠는 양의 정수 P에 대해, 그 자릿수의 모든 숫자를 곱한 값을 새로운 수로 계속 바꾸면서 하나의 값으로 수렴시키는 과정을 "바닥수"라고 정의하였다. 예를 들어, 1234 → 1×2×3×4 = 24 → 2×4 = 8 이므로, 1234의 바닥수는 8이다.쿠는 바닥수를 계산하던 중, 바닥수 N과 숫자 P의 자릿수 길이 L만 남겨두고 정작 P를 잊어버렸다. 주어진 바닥수 N과 길이 L에 해당하는 P를 하나 출력해야 한다. 조건: P는 0으로 시작하지 않으며, 가능한 경우 중 아무거나 출력하면 된다.문제 해결 코드// 30456번: 쿠의 바닥수// 바닥수가 N이 되기 위한 길이 L..

728x90
반응형
LIST