我已经在Prolog中编写了以下代码。它执行如下:
?- colors('c:/users/30698/desktop/a.txt', Answer).
Answer = 0.
我如何修改它以这样执行(我必须将其提交给自动化系统进行评估,而第一个不会通过):
?- colors('c:/users/30698/desktop/a.txt', Answer).
Answer = 0 ;
false.
colors(File, Answer):-
read_input(File, N, K, C),
min_len(C, N, K, M) -> Answer is M; Answer is 0.
答案 0 :(得分:1)
我实际上更喜欢您的实现,但是系统似乎要求这样的实现:
colors(File, Answer) :-
read_input(File, N, K, C),
min_len(C, N, K, Answer).
colors(_, 0).
您对条件->
的使用消除了自动化系统似乎期望的选择点。尝试对自动化系统进行不必要的详细说明。
您可能还可以添加以下nonce子句以使当前代码被接受:
colors(_, _) :- fail.