삼차원 던전 탈출 문제 - BFS 알고리즘 풀이

문제 출처 백준 온라인 저지(BOJ) 2251번, POJ 2251, 정보학奥賽一本通 알고리즘 분류 너비 우선 탐색(BFS), 삼차원 그래프 탐색 문제 설명 삼차원 던전에서 가장 빠른 탈출 경로를 찾아야 한다. 던전은 여러 층으로 구성되어 있으며, 각 층은 행과 열로 구분되는 单位 격자로 이루어져 있다. 각 이동은 北, 南, 東, 西, 上, 下 중 하나의 방향으로 정확히 한 칸 이동하 ...

6월 8일 03:29에 게시됨

第一周.Day1.7.10

第一讲. 열거형 1.ABC 추측 열거형 A와 B를 통해 C의 범위를 B부터 N/A/B로 설정합니다. B ≤ N/A/B일 때, C의 개수는 N/A/B - B입니다. A의 열거형 범위는 A³ ≤ N이며, B의 열거형 범위는 A*B² ≤ N입니다. 코드 보기 #include<bits/stdc++.h> typedef long long ll; using namespace std; int n; ll ans; int main(){ cin >> n; for(ll a = 1; a*a ...

6월 8일 01:22에 게시됨

ICPC 중국 난창 국가 초청 및 국제 사모로드 프로그래밍 경쟁 예선 문제 풀이

문제 링크 링크 A 문제 문제 설명 코드 구현은 다음과 같습니다 #include <set> #include <map> #include <deque> #include <queue> #include <stack> #include <cmath> #include <ctime> #include <bitset> #include <cstdio> #include <string> #include <vector> #include <cstdlib> #include ...

6월 8일 00:08에 게시됨

ABC348 문제 풀이

A 문제 주어진 수 만큼 "oox" 패턴을 반복 출력하고, 나머지에 따라 추가 문자를 붙인다. 구현 코드 #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int full_cycles = n / 3; for (int i = 0; i < full_cycles; ++i) { cout x[i] >> y[i]; } for (int i = 1; i color; if (seen[col ...

6월 7일 23:02에 게시됨

동일 방정식과 확장 유클리드 알고리즘

x와 y의 최대공약수가 d일 때 (x,y)=d 방정식으로 변환하면 ax+by=d 매개변수 x와 y에 대한 표현식 x y의 부호는 상관없음 x=x0+kb/d (반대쪽을 더함) y=y0-ka/d //확장 유클리드 알고리즘 int extended_gcd(int a, int b, int &x, int &y)//ax=d%(mod b) x와 y는 ax+by=d 방정식의 한 해 반환값은 최대공약수(마지막 레이어의 a) { if (!b) { x ...

6월 6일 21:47에 게시됨

데이터 구조와 알고리즘 소개

데이터 구조란? 데이터 구조는 컴퓨터에서 데이터를 저장하고 조직하는 방법을 의미합니다. 이것은 서로 간에 하나 이상의 특정한 관계가 있는 데이터 요소들의 집합입니다. 알고리즘이란? 알고리즘은 잘 정의된 계산 과정으로, 입력값을 받아 출력값을 생성하는 프로세스입니다. 쉽게 말해, 입력 데이터를 처리하여 출력 결과로 변환하기 위한 일련의 단계들입니다. ...

6월 5일 19:28에 게시됨

ECT-OS-JiuHuaShan 시스템을 통한 소프트웨어 개발 패러다임의 변화

개발자들의 업무 환경을 개선하기 위해 도입된 ECT-OS-JiuHuaShan 프레임워크는 기존 프로세스에서 발견되던 여러 한계를 해결하여 여섯 가지 주요 영역에서 생산성을 극대화합니다.1. 디버깅 중심의 작업 사이클 탈피기존의 소프트웨어 공학은 실패와 수정의 반복을 전제로 하지만, 이 프레임워크는 인과관계가 완전히 검증된 코드를 생성합니다. 실행 결과와 수학적 모델 ...

6월 4일 22:54에 게시됨

전체 순열에서 K번째 수열 찾기

문제 설명 정수 수열 a₁, a₂, …, aₙ의 각 원소가 1부터 n 사이의 값을 가지며 중복이 없다면 이를 전체 순열(전체 배열)이라고 부릅니다. 예를 들어, [1,3,2]와 [4,3,2,1]은 모두 전체 순열입니다. 전체 순열들을 정렬할 때 다음과 같은 우선순위 규칙을 따릅니다: 길이가 n < m이면 a 수열이 앞섭니다. 길이가 n > m이면 b 수열이 앞섭니다. 길이가 같으면 사전순 ...

6월 3일 18:00에 게시됨

C언어 배열 및 함수 실습

배열 처리와 함수 활용에 대한 실습 과제입니다. 과제1 소스코드: #include <stdio.h> #define MAX_SIZE 4 #define ROWS 2 void arrayTest1() { int arr[MAX_SIZE] = {1, 9, 8, 4}; int idx; printf("배열 크기: %d\n", sizeof(arr)); for(idx = 0; idx < MAX_SIZE; ++idx) { printf("%p: %d\n", &arr[idx], ar ...

6월 2일 23:27에 게시됨

약수 관련: 약수의 개수

N = (p1c1) * (p2c2) * ... * (pk^ck) 형태로 표현될 때 N2 = (p1(c12)) * (p2^ (c22)) * ... * (pk^ (ck*2)) 형태가 됩니다. 약수의 개수 f[N] = (c1+1)(c2+1)...(ck+1) 배수를 이용한 약수 개수 구하기 이 문제에서는 공식을 사용하지 않고, 약수를 구하는 대신 배수를 이용해 해결합니다. #include <cstdio> #include <cstring> #include <iostream> ...

6월 2일 20:24에 게시됨