Data update
This commit is contained in:
parent
aec8ed51b6
commit
29a5eea0d4
128 changed files with 1298 additions and 0 deletions
40
Task/100-prisoners/ABC/100-prisoners.abc
Normal file
40
Task/100-prisoners/ABC/100-prisoners.abc
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
HOW TO FILL drawers:
|
||||
PUT {} IN drawers
|
||||
FOR i IN {1..100}: PUT i IN drawers[i]
|
||||
FOR i IN {1..100}:
|
||||
PUT choice {i..100} IN j
|
||||
PUT drawers[i], drawers[j] IN drawers[j], drawers[i]
|
||||
|
||||
HOW TO REPORT prisoner random.strat drawers:
|
||||
PUT {1..100} IN available
|
||||
FOR turn IN {1..50}:
|
||||
PUT choice available IN drawer
|
||||
IF drawers[drawer] = prisoner: SUCCEED
|
||||
REMOVE drawer FROM available
|
||||
FAIL
|
||||
|
||||
HOW TO REPORT prisoner optimal.strat drawers:
|
||||
PUT prisoner IN drawer
|
||||
FOR turn IN {1..50}:
|
||||
IF drawers[drawer] = prisoner: SUCCEED
|
||||
PUT drawers[drawer] IN drawer
|
||||
FAIL
|
||||
|
||||
HOW TO REPORT simulate strategy:
|
||||
FILL drawers
|
||||
FOR prisoner IN {1..100}:
|
||||
SELECT:
|
||||
strategy = "Random":
|
||||
IF NOT prisoner random.strat drawers: FAIL
|
||||
strategy = "Optimal":
|
||||
IF NOT prisoner optimal.strat drawers: FAIL
|
||||
SUCCEED
|
||||
|
||||
HOW TO RETURN n.sim chance.of.success strategy:
|
||||
PUT 0 IN success
|
||||
FOR n IN {1..n.sim}:
|
||||
IF simulate strategy: PUT success+1 IN success
|
||||
RETURN success * 100 / n.sim
|
||||
|
||||
FOR strategy IN {"Random"; "Optimal"}:
|
||||
WRITE strategy, ": ", 10000 chance.of.success strategy, '%'/
|
||||
Loading…
Add table
Add a link
Reference in a new issue