아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

자기 회피 보행 세기

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

요약
원점에서 동쪽으로 출발하여 제1사분면을 벗어나지 않고 이미 지난 점을 밟지 않는 걸음 수를 a부터 b까지 세어 합을 출력합니다.
난이도

보통10점 중 7점

유형
백트래킹, DFS, 완전 탐색
정답자
아직 제출이 없습니다

문제

평면에서 정수 좌표를 가진 점만 사용한다. 보행은 원점 (0,0)(0, 0)에서 출발하고, 첫 번째 걸음으로 (1,0)(1, 0)으로 이동한다. 그 뒤로는 매 걸음마다 지금 있는 점과 상하좌우로 인접한 정수 좌표점 중 하나로 이동한다. 두 좌표가 모두 0 이상인 점에만 설 수 있고, 이미 지나온 점은 다시 밟을 수 없다.

걸음 수 nn을 고정하고 이런 보행이 몇 가지인지 센다. 첫 번째 걸음도 nn에 포함한다. nn이 2, 3, 4일 때 보행의 개수는 각각 2, 5, 12이다.

n이 2, 3, 4일 때의 보행

두 정수 aa와 bb가 주어진다. n=a,a+1,…,bn = a, a+1, \ldots, b 각각에 대해 보행의 개수를 구하고 그 합을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 aa와 bb가 공백을 사이에 두고 주어진다. (0<a<b<29)(0 < a < b < 29)

출력

n=a,a+1,…,bn = a, a+1, \ldots, b에 대한 보행 개수의 합을 한 줄에 출력한다. 이 합은 32비트 정수의 범위를 넘을 수 있다.

예제2

  1. 예제 1

    입력
    2 4
    
    예상 출력
    19
    
  2. 예제 2

    입력
    27 28
    
    예상 출력
    96850643983