问题在于:http://www.spoj.com/problems/TEST/
我的方案解决方案是:
(define (main)
(let ((line (read-line)))
(if (or
(eof-object? line)
(string=? line "42"))
(void)
(begin
(display line)
(newline)
(main)))))
(main)
报告
运行时错误(NZEC)
但我不知道为什么会出错。
答案 0 :(得分:1)
您应该在提交之前安装guile并尝试使用代码。 Guile默认情况下没有read-line
可用。您需要将其添加为第一行:
(use-modules (ice-9 rdelim))
所以会发生的是,guile发布错误并将非零值返回给父进程,这反过来表明程序没有正常终止。然后,SPOJ将报告为NZEC。
guile错误看起来像这样:
sylwester@sylhp ~> guile test.scm
ERROR: Unbound variable: read-line
每当你获得NZEC时,你应该尝试在本地运行以发现错误。