Rewrite Bellman-Ford and min-cost flow, especially to stop the latter from crashing.
[match/match.git] / program / Instance.hs
index 95e00ee..07841e3 100644 (file)
@@ -15,7 +15,9 @@ data Instance = Instance
 
 instance Show Instance where
        show (Instance numRvrs numProps loadA prefA) =
-               "Instance: " ++ show numRvrs ++ " reviewers, " ++ show numProps ++ " proposals\n"
-               ++ "Reviewer relative load: " ++ show loadA ++ "\n"
-               ++ "Preferences:\n"
-               ++ formatTable (array2DtoListOfLists (amap2 show prefA :: Array (Int, Int) String))
+               let theRvrs = [0..numRvrs-1]; theProps = [0..numProps-1] in
+               "Instance with " ++ show numRvrs ++ " reviewers and " ++ show numProps ++ " proposals:\n" ++ formatTable (
+                           (       ""              : map (\i -> "R#" ++ show i       ) theRvrs) :
+                           (       "RLoad"         : map (\i -> show (loadA ! i)     ) theRvrs) :
+                       map (\j -> ("P#" ++ show j) : map (\i -> show (prefA ! (i, j))) theRvrs) theProps
+               )