본문 바로가기

알고리즘/백준-골드11

백준 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.
백준 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.
백준 10986번 나머지 합(C++) 문제https://www.acmicpc.net/problem/10986 정답 코드#include #include using namespace std;long long input[1000001];long long input_sum[1000001];long long same_num[1001];long long make_len(long long same){ long long ret = 0; if (same >= 2){ ret = (same * (same -1)) / 2; } return ret;}int main(){ long long n,m; cin >> n>> m; ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long ret = 0; for (int i.. 2023. 10. 13.
백준 1806번 부분합(C++) 문제1806번: 부분합10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오.https://www.acmicpc.net/problem/1806정답 코드#include using namespace std; long long input[100001]; long long sum_input[100001]; int main(){ cin.tie(0); cout.tie(0); ios::sync_with_stdio(0); int n,m; cin >> n >> m; int start_idx = -1; for (int i = 0; i >input[i]; if.. 2023. 10. 13.
백준 15686번 치킨배달(C++) 문제https://www.acmicpc.net/problem/15686정답 코드#include #include int mapp[51][51];//지도 int valid[51][51];//치킨집 사용가능여부 int n,m; using namespace std; int min_point=21474836; intfind_min(int y,int x) { int len = 0; int min = 21474836; for (int i=1;i 2023. 2. 1.