- 100 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 17:56:46 ]
- >>99
% Prolog (1/2) 可能経路数(_桝,_開始点_X,_開始点_Y,_経路の数) :- findall(1,駒の動き(_開始点_X,_開始点_Y,_),L), length(L,_経路の数). 駒の動き(_桝,_開始点_X,_開始点_Y,_経路) :- 駒の動き(_桝,_開始点_X,_開始点_Y,[[_開始点_X,_開始点_Y]],_経路). 駒の動き(_桝,X,Y,L,_経路) :- 移動可能点(_桝,X,Y,X2,Y2), not(member([X2,Y2],L)), 駒の動き(_桝,X2,Y2,[[X2,Y2]|L],_経路). 駒の動き(_桝,X,Y,L,_経路) :- _桝2 is _桝 * _桝, list_length(L,_桝2), reverse(L,_経路).
|

|