i + 2*j  + 3*k  =  x 가 되는 {i,j,k} 쌍의 개수 찾기 ( i,j,k >= 0 , 1 <= x )

ex.   x  =  4 일 때 {4,0,0} , {2,1,0} , {1,0,1} , {0,2,0} 총 4가지


인데


저는 처음에 i = x 로 둔 뒤에,  i를 1씩 빼가면서 {j,k} 쌍의 개수를 찾아서 전부 더하는 걸로 풀었음


i = x -> {0,0}

i = x-1 -> 불가능

i = x-2 -> {1,0}

...

i = 0 -> { j1, k1 } , {j2, k2} ... {jn, kn}

------------------------------------------- sum


i가 임의의 a 일 때 {j,k} 쌍 찾는 방법은  

{최대 j,  최소 k} 를 구한 뒤에 { 최대 j - 3*n , 최소 k + 2*n } ,  j가 3감소하면 총 2*3 = 6 만큼 감소하니까 k를 2 증가시켜서 3*2 = 6 만큼 다시

증가시켜서 값을 유지시키는 방법

ex  처음 {최대j, 최소k} 가 { 10,1} 이었다면  { 10-3, 1+2 } , { 10-6, 1+4 } ...  j가 음수가 되면 종료


식을 세우고 나니까 너무 복잡하고, 구현도 신경쓸 부분이 많은거임..


식 i + 2*j + 3*k = x 자체는 간단한데 너무 어렵게 푼거 같음. 좀 더 괜찮은 방법 있을까