История изменений
Исправление czan, (текущая версия) :
Таки хаскель недостаточно быстр для данной задачи. Пытался сделать с помощью UArray. Но производительность хромает.
import Data.Array.Unboxed
import Data.Array.ST
import Control.Monad
import Control.Monad.ST
memoArray :: UArray (Int,Int) Int
memoArray = array ((0,1),(999,5000))
[((i,j),(-1)) | i <- [0..999], j <- [1..5000]]
main = do
print (memoArray ! (999,5000))
time ./uArray
-1
real 0m3,399s
user 0m3,268s
sys 0m0,105s
Исходная версия czan, :
Таки хаскель недостаточно быстр для данной задачи. Пытался сделать с помощью UArray. Но производительность хромает.
import Data.Array.Unboxed
import Data.Array.ST
import Control.Monad
import Control.Monad.ST
memoArray :: UArray (Int,Int) Int
memoArray = array ((0,1),(999,5000))
[((i,j),(-1)) | i <- [0..999], j <- [1..5000]]
main = do
print (memoArray ! (999,5000))
time ./uArray
-1
real 0m3,399s
user 0m3,268s
sys 0m0,105s