관리 메뉴

cyphen156

백준-일반 수학 1 2292 벌집 본문

컴퓨터공학/알고리듬 풀이

백준-일반 수학 1 2292 벌집

cyphen156 2025. 2. 11. 12:20

벌집

정육각형 모양의 중앙 방에서부터 시작하여 회전하면서 방에 번호를 매기고 최단거리를 구하는 프로그램

방 만드는 갯수의 수식은 from N=0 to N 1 ∑(6N) + 1개

6N(N-1)/2 + 1

Room까지 가려면 걸리는 최단 거리 경로는 항상 N칸이다

제약사항

  • 0 < Rooms <= 1,000,000,000

주의 사항

없다.

C풀이

벌집_2292.C

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main() {
    int N, result = 1, i;
    scanf("%d", &N);
    for (i = 1; result < N; i++) {
        result += 6 * i;
    }
    printf("%d", i);
    return 0;
}

CPP풀이

벌집_2292.cpp

/**
 * 백준 벌집_2292
 * 정육각형 모양의 중앙 방에서 부터 시작하여 회전하면서 방에 번호를 매기고 최단거리를 구하는 프로그램
 * 방 만드는 갯수의 수식은 from N=0 to N−1 ∑(6N) + 1개
 * ==> 6N(N-1)/2 + 1
 * Room까지 가려면 걸리는 최단 거리 경로는 항상 N칸이다
 * 
 * 제한사항
 *****************************************
 * 0 < roomNumber <= 1,000,000,000            *
 *****************************************
 *
 *
 *
 * 주의
 * 없다.
 * 
 * 풀이시간 40분
 */


#include <iostream>

using namespace std;

int main(void)
{
    int roomNumber = 0;
    int N = 1;

    cin >> roomNumber;

    --roomNumber;
    while (3*(N * (N-1)) < roomNumber)
    {
        ++N;
    }
    
    cout << N << endl;
    return 0;
}

모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.

 

Workspace/알고리듬 풀이 at main · cyphen156/Workspace

Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.

github.com