function res = kakuro_correct(K,Kres)
%
% res = kakuro_correct(K,Kres)
%
% Das Programm ueberprueft, ob die Loesung Kres fuer das Kakuro K eine
% korrekte Loesung darstellt.
% 
% Input:
%         K    - Kakuro (Struktur oder 3D)
%         Kres - Loesungsmatrix
% Output: 
%         res  - true:  Loesung korrekt
%                false: Loesung falsch
%
% Winfried Kernbichler 13.05.2007


res = true;

if ~isstruct(K), K = kakuro_convert(K); end

for k = 1:length(K.hv)
    if sum(Kres(K.hm == k)) ~= K.hv(k), res = false; return, end
end

for k = 1:length(K.vv)
    if sum(Kres(K.vm == k)) ~= K.vv(k), res = false; return, end
end
