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

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

부지 계획

시간 제한2초메모리 제한512 MB

요약
a*b - c*d = n, a>c, b>d, 그리고 a와 b가 모두 x가 아닌 양의 정수 순서쌍 (a,b,c,d)의 개수를 센다.
난이도

보통10점 중 6점

유형
수학, 정수론, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

과학자들이 시험장 부지를 계획하고 있다. 부지는 a×ba \times b 직사각형이어야 하고, 시험장은 c×dc \times d 직사각형이어야 한다. 과학자들은 아직 a,b,c,da, b, c, d의 정확한 값을 정하지 못했지만, 다음은 알고 있다.

  • 변의 길이 a,b,c,da, b, c, d는 자연수여야 하고 킬로미터 단위로 표현된다.
  • 실험의 안전을 위해 부지의 가로와 세로는 xx와 달라야 한다. 즉 a≠xa \neq x, b≠xb \neq x가 성립해야 한다.
  • 부지는 울타리로 둘러싸이고, 시험장은 부지 안에 완전히 들어가야 한다. 즉 a>ca > c, b>db > d가 성립해야 한다.
  • 시험장이 차지하지 않는 부지의 넓이는 정확히 nn 제곱킬로미터여야 한다. 즉 a⋅b−c⋅d=na \cdot b - c \cdot d = n이 성립해야 한다.

과학자들은 조건에 맞는 a,b,c,da, b, c, d를 고르는 방법이 몇 가지인지 알고 싶어 한다. 주어진 nn과 xx에 대해, 위 조건을 모두 만족하도록 a,b,c,da, b, c, d를 고르는 방법의 수를 구하는 프로그램을 작성하라.

입력

첫째 줄에 두 수 nn과 xx가 주어진다. nn은 시험장을 제외한 빈 부지의 넓이(1≤n≤3000)(1 \le n \le 3000)이고, xx는 부지 변의 길이로 쓸 수 없는 값(0≤x≤3000)(0 \le x \le 3000)이다.

x=0x = 0이면 변의 길이에 대한 제한이 없다는 뜻이다. 변의 길이는 자연수여야 하므로 0보다 크다.

출력

한 줄에 모든 조건을 만족하도록 a,b,c,da, b, c, d를 고르는 방법의 수를 출력한다.

힌트

첫 번째 테스트 예제에서는 a=2,b=2,c=1,d=1a = 2, b = 2, c = 1, d = 1만이 조건에 맞는다.

두 번째 테스트 예제에서는 다음이 조건에 맞는다.

  • a=2,b=3,c=1,d=1a = 2, b = 3, c = 1, d = 1;
  • a=2,b=4,c=1,d=3a = 2, b = 4, c = 1, d = 3;
  • a=3,b=2,c=1,d=1a = 3, b = 2, c = 1, d = 1;
  • a=3,b=3,c=2,d=2a = 3, b = 3, c = 2, d = 2;
  • a=4,b=2,c=3,d=1a = 4, b = 2, c = 3, d = 1.

세 번째 테스트 예제에서는 다음이 조건에 맞는다.

  • a=2,b=4,c=1,d=3a = 2, b = 4, c = 1, d = 3;
  • a=4,b=2,c=3,d=1a = 4, b = 2, c = 3, d = 1.

이전 테스트의 나머지 답은 aa 또는 bb가 3이다.

예제3

  1. 예제 1

    입력
    3 0
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 0
    
    예상 출력
    5
    
  3. 예제 3

    입력
    5 3
    
    예상 출력
    2