summaryrefslogtreecommitdiff
path: root/prolog/problems
diff options
context:
space:
mode:
authorAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-03-30 14:34:45 +0200
committerAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-03-30 14:34:45 +0200
commit0b8a785ce0212783b45a328ba2ab6600ae05d333 (patch)
tree933fc09ce181839dc12291f8a8bdf94e2b2950e0 /prolog/problems
parentde500ad6985cab03d034e85a70c5882507082ce4 (diff)
Hints and plans for slowest_sort_ever/2 added.
Diffstat (limited to 'prolog/problems')
-rw-r--r--prolog/problems/sorting/slowest_sort_ever_2/sl.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/prolog/problems/sorting/slowest_sort_ever_2/sl.py b/prolog/problems/sorting/slowest_sort_ever_2/sl.py
index 03a77b1..b94a5e7 100644
--- a/prolog/problems/sorting/slowest_sort_ever_2/sl.py
+++ b/prolog/problems/sorting/slowest_sort_ever_2/sl.py
@@ -4,12 +4,20 @@ name = 'slowest_sort_ever/2'
slug = 'Uredi seznam elementov s pomočjo naključnih permutacij'
description = '''\
-<p><code>slowest_sort_ever(L, SL)</code>: seznam <code>SL</code> vsebuje elemente seznama <code>L</code> v naraščajočem vrstnem redu. Časovna zahtevnost algoritma naj bo O(n * n!).</p>
+<p><code>slowest_sort_ever(L, SL)</code>: seznam <code>SL</code> vsebuje elemente seznama <code>L</code> v naraščajočem vrstnem redu. Namig: časovna zahtevnost algoritma naj bo zanemarljivih O(n * n!).</p>
<pre>
?- slowest_sort_ever([2,3,1,5,4], L).
L = [1,2,3,4,5].
</pre>'''
+plan = ['''\
+<p>Ta naloga je malce bolj za šalo... Vse kar potrebuješ sta dve vrstici oz. dva prologova cilja.</p>
+''', '''\
+<p>Morda lahko izkoristiš rešitev kakšnih prejšnjih nalog?</p>
+''', '''\
+<p>Katera izmed prejšnjih nalog ima časovno zahtevnost O(n!)? Uporabi jo!</p>
+''']
+
hint = {
'eq_instead_of_equ': '''\
<p>Operator <code>==</code> je strožji od operatorja <code>=</code> v smislu, da je za slednjega dovolj,
@@ -23,11 +31,11 @@ implicitno že kar v argumentih predikata (glavi stavka).</p>
''',
'predicate_always_false': '''\
-<p>Vse kaže, da tvoj predikat vedno vrne <code>false</code>. Si mu dal pravilno ime, si se morda pri imenu zatipkal?</p>
+<p>Vse kaže, da tvoj predikat vedno vrne "false". Si mu dal pravilno ime, si se morda pri imenu zatipkal?</p>
<p>Če je ime pravilno, se morda splača preveriti tudi, če se nisi zatipkal kje drugje,
je morda kakšna pika namesto vejice ali obratno, morda kakšna spremenljivka z malo začetnico?</p>
<p>Možno je seveda tudi, da so tvoji pogoji prestrogi ali celo nemogoči (kot bi bila npr. zahteva,
-da je <code>X</code> hkrati starš in sestra od <code>Y</code> ali kaj podobno zlobnega).</p>
+da je <code>N</code> enako kot <code>N + 1</code> ali kaj podobno logično zlobnega).</p>
''',
'timeout': '''\
@@ -36,10 +44,11 @@ da je <code>X</code> hkrati starš in sestra od <code>Y</code> ali kaj podobno z
''',
'no_permute': '''\
-<p>no_permute</p>
+<p>Hmmm, premisli, katera izmed nalog, ki smo jih reševali do sedaj ima časovno zahtevnost O(n!)?
+Kako bi jo lahko izkoristil?</p>
''',
'no_isSorted': '''\
-<p>no_isSorted</p>
+<p>Si na pravi poti, še malo. Morda lahko uporabiš še kakšno prejšnjo rešitev?</p>
''',
}