Solving the system $y=2x+5$ and $y=-2x+1,$ we get $(x, y) = (-1, 3).$ Therefore, the asymptotes of the hyperbola intersect at $(-1, 3),$ which must be the center of the hyperbola. Therefore, $(h, k) = (-1, 3),$ so the equation of the hyperbola is \[\frac{(y-3)^2}{a^2} - \frac{(x+1)^2}{b^2} = 1\]for some $a$ and $b.$ The equations of the asymptotes are therefore \[\frac{y-3}{a} = \pm \frac{x+1}{b},\]or \[y = 3 \pm \frac{a}{b} (x+1).\]Therefore, the slopes of the asymptotes are $\pm \frac{a}{b}.$ Because $a$ and $b$ are positive, we must have $\frac{a}{b} = 2,$ so $a = 2b.$ Therefore, the equation of the hyperbola is \[\frac{(y-3)^2}{4b^2} - \frac{(x+1)^2}{b^2} = 1.\]To find $b,$ we use the fact that the hyperbola passes through $(0, 7).$ Setting $x=0$ and $y=7$ gives the equation \[\frac{(7-3)^2}{4b^2} - \frac{(0+1)^2}{b^2} = 1,\]or $\frac{3}{b^2} = 1.$ Thus, $b = \sqrt{3},$ and so $a = 2b = 2\sqrt{3}.$ Hence the equation of the hyperbola is \[\frac{(y-3)^2}{12} - \frac{(x+1)^2}{3} = 1,\]and $a+h = 2\sqrt{3}-1.$
[asy]
void axes(real x0, real x1, real y0, real y1)
{
	draw((x0,0)--(x1,0),EndArrow);
    draw((0,y0)--(0,y1),EndArrow);
    label("$x$",(x1,0),E);
    label("$y$",(0,y1),N);
    for (int i=floor(x0)+1; i<x1; ++i)
    	draw((i,.1)--(i,-.1));
    for (int i=floor(y0)+1; i<y1; ++i)
    	draw((.1,i)--(-.1,i));
}
path[] yh(real a, real b, real h, real k, real x0, real x1, bool upper=true, bool lower=true, pen color=black)
{
	real f(real x) { return k + a / b * sqrt(b^2 + (x-h)^2); }
    real g(real x) { return k - a / b * sqrt(b^2 + (x-h)^2); }
    if (upper) { draw(graph(f, x0, x1),color,  Arrows); }
    if (lower) { draw(graph(g, x0, x1),color,  Arrows); }
    path [] arr = {graph(f, x0, x1), graph(g, x0, x1)};
    return arr;
}
void xh(real a, real b, real h, real k, real y0, real y1, bool right=true, bool left=true, pen color=black)
{
	path [] arr = yh(a, b, k, h, y0, y1, false, false);
    if (right) draw(reflect((0,0),(1,1))*arr[0],color,  Arrows);
    if (left) draw(reflect((0,0),(1,1))*arr[1],color,  Arrows);
}
void e(real a, real b, real h, real k)
{
	draw(shift((h,k))*scale(a,b)*unitcircle);
}
size(8cm);
axes(-8,8, -6, 12);
yh(2*sqrt(3),sqrt(3),-1,3,-5,3);
dot((0,7));
dot((-1,3));
real f(real x) { return 2*x+5; }
real g(real x) { return -2*x+1; }
draw(graph(f, -5, 3) ^^ graph(g, -5, 3),dotted);
[/asy]
y=2x+5$와 $y=-2x+1$ 시스템을 풀면 $(x, y) = (-1, 3)이므로 쌍곡선의 점근은 $(-1, 3)에서 교차하며, 이 지점이 쌍곡선의 중심이어야 합니다. 따라서 $(h, k) = (-1, 3)$이므로 쌍곡선의 방정식은 일부 $a$와 $b에 대해 \[\frac{(y-3)^2}{a^2} - \frac{(x+1)^2}{b^2} = 1\]입니다.따라서 점근 방정식은 \[\frac{y-3}{a} = \pm \frac{x+1}{b},\]또는 \[y = 3 \pm \frac{a}{b} (x+1)]입니다.\따라서 점근의 기울기는 $\pm \frac{a}{b}입니다.$ $a$와 $b$는 양수이므로 $\frac{a}{b} = 2,$이므로 $a = 2b가 되어야 합니다.따라서 쌍곡선의 방정식은 \[\frac{(y-3)^2}{4b^2} - \frac{(x+1)^2}{b^2} = 1.\]쌍곡선이 $(0, 7)을 통과한다는 사실을 이용하여 $b$를 구합니다.x=0$과 $y=7$을 설정하면 \[\frac{(7-3)^2}{4b^2} - \frac{(0+1)^2}{b^2} = 1,\]또는 $\frac{3}{b^2} = 1이라는 방정식이 나옵니다.$ 따라서 $b = \sqrt{3},$이므로 $a = 2b = 2\sqrt{3}.$ 따라서 쌍곡선 방정식은 \[\frac{(y-3)^2}{12} - \frac{(x+1)^2}{3} = 1,\]이고 $a+h = 2\sqrt{3}-1.$입니다.
[asy]
void axes(실수 x0, 실수 x1, 실수 y0, 실수 y1)
{
	draw((x0,0)--(x1,0),EndArrow);
    draw((0,y0)--(0,y1),EndArrow);
    label("$x$",(x1,0),E);
    label("$y$",(0,y1),N);
    for (int i=floor(x0)+1; i<x1; ++i)
    	draw((i,.1)--(i,-.1));
    for (int i=floor(y0)+1; i<y1; ++i)
    	draw((.1,i)--(-.1,i));
}
path[] yh(실수 a, 실수 b, 실수 h, 실수 k, 실수 x0, 실수 x1, bool upper=true, bool lower=true, pen color=black)
{
	real f(real x) { return k + a / b * sqrt(b^2 + (x-h)^2); }
    real g(real x) { return k - a / b * sqrt(b^2 + (x-h)^2); }
    if (upper) { draw(graph(f, x0, x1),color, Arrows); }
    if (lower) { draw(graph(g, x0, x1),color, Arrows); }
    path [] arr = {graph(f, x0, x1), graph(g, x0, x1)};
    return arr;
}
void xh(실수 a, 실수 b, 실수 h, 실수 k, 실수 y0, 실수 y1, bool right=true, bool left=true, pen color=black)
{
	경로 [] arr = yh(a, b, k, h, y0, y1, false, false);
    if (오른쪽) draw(reflect((0,0),(1,1))*arr[0],color, Arrows);
    if (left) draw(reflect((0,0),(1,1))*arr[1],color, Arrows);
}
void e(실수 a, 실수 b, 실수 h, 실수 k)
{
	draw(shift((h,k))*scale(a,b)*unitcircle);
}
size(8cm);
axes(-8,8, -6, 12);
yh(2*sqrt(3),sqrt(3),-1,3,-5,3);
dot((0,7));
dot((-1,3));
real f(real x) { return 2*x+5; }
real g(real x) { return -2*x+1; }
draw(graph(f, -5, 3) ^^ graph(g, -5, 3),dotted);
[/asy]