본문 바로가기

알고리즘/SWEA

8016

 

static void solution(void)
{
	long long N, L ,R;
	scanf("%lld", &N);

	L = 2 * ((N - 1) * (N - 1) + 1) - 1;
	R = 2 * N * N - 1;
	printf("%lld %lld\n", L, R);
}

                  a

             b   c   d

       e    f    g   h   i

...

 

위와 같은 피라미드 형태에서 N번째 줄에 most left, right 값을 구하는 문제이다.

각 줄 에서 원소의 개수는 2개씩 늘어나는 등차수열의 형태이다.

따라서 N번째 줄에서 most right의 순서는 N^2 이다.

sum(k = 1 ~ N) (2k - 1) 를 구해보면 알 수 있다.

most left의 순서는 (N - 1)^2 + 1 이다. N - 1 번째 줄 다음에 오기 때문이다.

그래서 이 값을 인덱스로 하여 홀수 수열 (2k - 1)에 넣으면 정답을 구할 수 있다.

'알고리즘 > SWEA' 카테고리의 다른 글

7701  (0) 2021.10.31
7733  (0) 2021.10.31
7810  (0) 2021.10.31
7510  (0) 2021.10.31
7991  (0) 2021.10.31