만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

나선

면접 대비

시간 제한1초메모리 제한128 MB

요약
x부터 y까지의 정수를 x를 중심에 두고 반시계 방향으로 바깥으로 감아 나가며 격자에 배치한 뒤, y의 자릿수에 맞춰 오른쪽 정렬해 출력한다.
난이도

보통10점 중 4점

유형
행렬, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

100100보다 작은 두 양의 정수 xx와 yy가 주어진다. xx부터 yy까지의 정수를 순서대로 나선 모양으로 배치하여 출력하는 프로그램을 작성하시오. 끝 값 yy는 항상 시작 값 xx보다 크거나 같다고 가정해도 된다.

나선은 가장 가운데 칸에 첫 번째 수 xx를 놓는 것으로 시작한다. 그다음 수는 첫 번째 수의 바로 아래 칸에 놓인다. 이후 수를 11씩 키우면서 반시계 방향으로 나선을 그리며 마지막 수 yy까지 칸을 채워 나간다.

입력

첫째 줄에 시작 값 xx가, 둘째 줄에 끝 값 yy가 주어진다. 두 수는 모두 100100보다 작은 양의 정수이며 x≤yx \le y이다.

출력

xx부터 yy까지의 수를 나선 모양으로 배치한 격자를 출력한다. 각 줄에서 수들은 공백 한 칸으로 구분하며, 각 수는 가장 큰 수(즉 yy)의 자릿수만큼의 폭으로 오른쪽 정렬한다.

예제2

  1. 예제 1

    입력
    10
    27
    
    예상 출력
          27 26
    16 15 14 25
    17 10 13 24
    18 11 12 23
    19 20 21 22
    
  2. 예제 2

    입력
    7
    12
    
    예상 출력
    12 11
     7 10
     8  9