본문 바로가기
728x90

알고리즘44

백준 2556번 전깃줄(C++) 문제정답 코드#include 
#include 
#include 
using namespace std;


int N;
vector input;
int ret= 0;
int DP[101];
int max_size=0;
int calcDp(int i){
	int now_num = input[i].second;
	int calc_ret=1;
	for(int j=0; j > N;
	int a,b;

	for(int i=0;i> a >>.. 2024. 2. 9.
백준 17071번 숨바꼭질 5(C++) 문제 https://www.acmicpc.net/problem/17071 17071번: 숨바꼭질 5 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 500,000)에 있고, 동생은 점 K(0 ≤ K ≤ 500,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 정답 코드 /* 수빈이 위치 : N 동생 위치 : K 수빈 이동 : +-1, *2 동생 이동 : 1, 1+2, 1+2+3, 1+2+3+4 ... 동생을 처음 만나는 시간 : time 0 2->4->8 2->3->5->8 답 : 3 5 17 5->10->20 17->18->20 답 : 2 17 5 17->16->15->16->15 5-> 6 ->8 ->11.. 2024. 2. 2.
백준 3196번 백조의 호수(C++) 문제 https://www.acmicpc.net/problem/3197 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net 정답 코드 #include #include #include #include #define X first #define Y second using namespace std; /* - X: 빙판 - .: 물 - L: 오리 */ int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; char duck='1'; char table[1501].. 2024. 2. 2.
백준 14497번 주난의 난(C++) https://www.acmicpc.net/problem/14497 14497번: 주난의 난(難) 주난이는 크게 화가 났다. 책상 서랍 안에 몰래 먹으려고 숨겨둔 초코바가 사라졌기 때문이다. 주난이는 미쳐 날뛰기 시작했다. 사실, 진짜로 뛰기 시작했다. ‘쿵... 쿵...’ 주난이는 점프의 파 www.acmicpc.net 정답 코드 /* 주난 : * 초코바 : # 빈칸 : . 1: 친구 bfs해서 닿은 1은 다 녹이면된다. 처음으로 #에 다은 경우 끝 */ #include #include #include #define X first #define Y second using namespace std; int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; bool vis[30.. 2024. 2. 2.
백준 12851번 숨바꼭질 2 (C++) 문제 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 정답 코드 #include #include #include using namespace std; #define CNT second #define POS first int N,K; bool vis[100001]; int num_cnt[100001]; int min_cnt = 100001; //최소 거리 /* 5 17 5 10 20 19 18 17 5 6 7.. 2024. 2. 2.
백준 15684번 사다리 조작 (C++) 문제 정답 코드 #include #include #include #include using namespace std; int N,H;//점선 가로, 점선 세로 int M;//놓인 가로 bool table[31][11]; // table[H][N-1] int ret = 5; int dp[31][11]; bool calcDp(){//초기 주어진 값으로 dp배열 계산 for(int i=1;i> H; for(int i=0;i> a>>b; table[a][b] = true; } dfs(1,0); if (ret == 5) ret = -1; cout 5,000,000 (5백만) 사다리를 타는 연산 시간 : 사다리당 높이만큼 연산 -> 전부 계산하는데 300번 연산 진행 만약 브루스 포스로 하게 되면 15억정도 진행됨.. 2024. 2. 2.
백준 16987번 계란으로 계란치기(C++) 문제16987번: 계란으로 계란치기원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱걸이를 5회 하는 기적의 운동 루틴을 통해 뇌와 근육을 동시에 단련한다. 근육을 단련할 때 식단이 정말로 중요하다는 것을 아는 인범이는 탄수화물이 많은 밥이나 빵 따위의 아침 식사를 대신해 단백질이 많은 계란찜을 해먹는다. 계란찜을 먹기 위해서는 계란을 깨야 하는데, 인범이는 힘이 너무 넘치는 나머지 부엌의 대리석을 이용해 계란을 깨면 늘 껍데기가 산산조각나 뒷처리가 너무 어렵게 되곤 한다. 어떻게 하면 계란을 조심스럽게 깰 수 있을까 고민하던 인범이에게 유현이는 굉장히 좋은 .. 2023. 11. 12.
백준 9205번 맥주 마시면서 걸어가기(C++) 문제9205번: 맥주 마시면서 걸어가기송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가 20개 들어있다. 목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다. 즉, 50미터를 가려면 그 직전에 맥주 한 병을 마셔야 한다.https://www.acmicpc.net/problem/9205정답 코드#include #include #include #include #include int t_case; int n;//편의점 갯수 int home_x, home_y; int dest_x,dest_y; bool vis[101]; //-32768 ~ 3.. 2023. 11. 12.
백준 14620번 꽃길(C++) 문제14620번: 꽃길2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다.https://www.acmicpc.net/problem/14620정답 코드코테 당시 통과 코드#include #include #include using namespace std; int N; //화단 한변의 길이 //0~N-1까지 //N~ 2N-1까지 //abs(b-a) == (N || N-1 || N+1) int table[201][201]; int least_money = 2147483647; int money_cnt(int x1,int y1){ int cnt = 0; cnt +=table[y1][x1]; cnt+= table[y1+1][x1]; c.. 2023. 11. 12.
728x90