09/06/09 12:12:08
>>115 COBOL向き問題
% Prolog(1/2) オンメモリ版
t115(M,T) :-
g115(M,L1),
g115(T,L2),
b(L1,L2,L3),
p115(M,L3).
b([],[],[]) :- !.
b([A|R1],[],[A|R3]) :- !,b(R1,[],R3).
b([],[B|R2],[B|R3]) :- !,b([],R2,R3).
b([[A|B]|R1],[[C|D]|R2],[[A|B]|R3]):-A@<C,!,b(R1,[[C|D]|R2],R3).
b([[A|B]|R1],[[C|D]|R2],[[D|D]|R3]):-A@>C,!,b([[A|B]|R1],R2,R3).
b(L1,L2,[[B|D]|R3]) :- b_2(L2,[[B|D]|R2]),b(L1,R2,R3).
b_2([A],[A]) :- !.
b_2([[A|B],[C|D]|R],[[A|B],[C|D]|R]]) :- A @< C.
b_2([[A|B],[C|D]|R],X) :- A = C,b_2([[C|D]|R],X).