riibka 7 månader sedan
incheckning
aae68a1fbe
31 ändrade filer med 595 tillägg och 0 borttagningar
  1. BIN
      .vs/Cumvoyager/FileContentIndex/2e5dce84-d638-4c13-a232-ab75e6d86bbd.vsidx
  2. BIN
      .vs/Cumvoyager/FileContentIndex/905654cf-acbb-49ce-bd6a-02e5f52e018d.vsidx
  3. BIN
      .vs/Cumvoyager/FileContentIndex/928a2e50-ad59-44e6-932b-8e208b10ff06.vsidx
  4. BIN
      .vs/Cumvoyager/FileContentIndex/f96845bb-b235-4e9a-9ccd-01170a0d0d75.vsidx
  5. BIN
      .vs/Cumvoyager/v17/.suo
  6. 70 0
      .vs/Cumvoyager/v17/DocumentLayout.json
  7. BIN
      .vs/TravMerchant/FileContentIndex/5130a288-8a43-4992-b38d-20599408c719.vsidx
  8. BIN
      .vs/TravMerchant/FileContentIndex/516c8da1-87d8-49d8-968b-55bf4d1067f5.vsidx
  9. BIN
      .vs/TravMerchant/v17/.suo
  10. 37 0
      .vs/TravMerchant/v17/DocumentLayout.json
  11. 25 0
      TravMerchant.sln
  12. 0 0
      TravMerchant/.vs/Cumvoyager.csproj.dtbcache.json
  13. 6 0
      TravMerchant/App.config
  14. 43 0
      TravMerchant/Program.cs
  15. 36 0
      TravMerchant/Properties/AssemblyInfo.cs
  16. 214 0
      TravMerchant/ReducableMatrix.cs
  17. 83 0
      TravMerchant/SolutionNode.cs
  18. 55 0
      TravMerchant/TravMerchant.csproj
  19. BIN
      TravMerchant/bin/Debug/TravMerchant.exe
  20. 6 0
      TravMerchant/bin/Debug/TravMerchant.exe.config
  21. BIN
      TravMerchant/bin/Debug/TravMerchant.pdb
  22. 4 0
      TravMerchant/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs
  23. BIN
      TravMerchant/obj/Debug/Cumvoyager.csproj.AssemblyReference.cache
  24. 1 0
      TravMerchant/obj/Debug/Cumvoyager.csproj.CoreCompileInputs.cache
  25. 7 0
      TravMerchant/obj/Debug/Cumvoyager.csproj.FileListAbsolute.txt
  26. BIN
      TravMerchant/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  27. BIN
      TravMerchant/obj/Debug/TravMerchant.csproj.AssemblyReference.cache
  28. 1 0
      TravMerchant/obj/Debug/TravMerchant.csproj.CoreCompileInputs.cache
  29. 7 0
      TravMerchant/obj/Debug/TravMerchant.csproj.FileListAbsolute.txt
  30. BIN
      TravMerchant/obj/Debug/TravMerchant.exe
  31. BIN
      TravMerchant/obj/Debug/TravMerchant.pdb

BIN
.vs/Cumvoyager/FileContentIndex/2e5dce84-d638-4c13-a232-ab75e6d86bbd.vsidx


BIN
.vs/Cumvoyager/FileContentIndex/905654cf-acbb-49ce-bd6a-02e5f52e018d.vsidx


BIN
.vs/Cumvoyager/FileContentIndex/928a2e50-ad59-44e6-932b-8e208b10ff06.vsidx


BIN
.vs/Cumvoyager/FileContentIndex/f96845bb-b235-4e9a-9ccd-01170a0d0d75.vsidx


BIN
.vs/Cumvoyager/v17/.suo


+ 70 - 0
.vs/Cumvoyager/v17/DocumentLayout.json

@@ -0,0 +1,70 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\TravMerchant.csproj|d:\\downloads\\cumvoyager\\cumvoyager\\cumvoyager\\reducablematrix.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\TravMerchant.csproj|solutionrelative:cumvoyager\\reducablematrix.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\TravMerchant.csproj|d:\\downloads\\cumvoyager\\cumvoyager\\cumvoyager\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\TravMerchant.csproj|solutionrelative:cumvoyager\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\Cumvoyager.csproj|D:\\Downloads\\Cumvoyager\\Cumvoyager\\cumvoyager\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|Cumvoyager\\Cumvoyager.csproj|solutionrelative:cumvoyager\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 0,
+          "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "ReducableMatrix.cs",
+              "DocumentMoniker": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\ReducableMatrix.cs",
+              "RelativeDocumentMoniker": "Cumvoyager\\ReducableMatrix.cs",
+              "ToolTip": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\ReducableMatrix.cs",
+              "RelativeToolTip": "Cumvoyager\\ReducableMatrix.cs",
+              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAgAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2024-04-21T21:05:27.268Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "Program.cs",
+              "DocumentMoniker": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\Program.cs",
+              "RelativeDocumentMoniker": "Cumvoyager\\Program.cs",
+              "ToolTip": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\Program.cs",
+              "RelativeToolTip": "Cumvoyager\\Program.cs",
+              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAQAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2024-04-21T21:05:27.274Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "Program.cs",
+              "DocumentMoniker": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\Program.cs",
+              "RelativeDocumentMoniker": "Cumvoyager\\Program.cs",
+              "ToolTip": "D:\\Downloads\\Cumvoyager\\Cumvoyager\\Cumvoyager\\Program.cs",
+              "RelativeToolTip": "Cumvoyager\\Program.cs",
+              "ViewState": "AQIAAAQAAAAAAAAAAAAqwCUAAAAgAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2024-04-17T20:43:33.897Z"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}

BIN
.vs/TravMerchant/FileContentIndex/5130a288-8a43-4992-b38d-20599408c719.vsidx


BIN
.vs/TravMerchant/FileContentIndex/516c8da1-87d8-49d8-968b-55bf4d1067f5.vsidx


BIN
.vs/TravMerchant/v17/.suo


+ 37 - 0
.vs/TravMerchant/v17/DocumentLayout.json

@@ -0,0 +1,37 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "D:\\Downloads\\TravMerchant\\TravMerchant\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|TravMerchant\\TravMerchant.csproj|d:\\downloads\\travmerchant\\travmerchant\\travmerchant\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{A00EF343-7888-4363-B713-7AF9C9B2211E}|TravMerchant\\TravMerchant.csproj|solutionrelative:travmerchant\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 0,
+          "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "Program.cs",
+              "DocumentMoniker": "D:\\Downloads\\TravMerchant\\TravMerchant\\TravMerchant\\Program.cs",
+              "RelativeDocumentMoniker": "TravMerchant\\Program.cs",
+              "ToolTip": "D:\\Downloads\\TravMerchant\\TravMerchant\\TravMerchant\\Program.cs",
+              "RelativeToolTip": "TravMerchant\\Program.cs",
+              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2024-04-21T21:11:14.86Z",
+              "EditorCaption": ""
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}

+ 25 - 0
TravMerchant.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34723.18
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TravMerchant", "TravMerchant\TravMerchant.csproj", "{A00EF343-7888-4363-B713-7AF9C9B2211E}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A00EF343-7888-4363-B713-7AF9C9B2211E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A00EF343-7888-4363-B713-7AF9C9B2211E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A00EF343-7888-4363-B713-7AF9C9B2211E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A00EF343-7888-4363-B713-7AF9C9B2211E}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {5AD073E4-EAAC-4D3D-A190-3CB3FEA002C7}
+	EndGlobalSection
+EndGlobal

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
TravMerchant/.vs/Cumvoyager.csproj.dtbcache.json


+ 6 - 0
TravMerchant/App.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
+    </startup>
+</configuration>

+ 43 - 0
TravMerchant/Program.cs

@@ -0,0 +1,43 @@
+using System;
+using System.CodeDom;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using System.Windows.Markup;
+
+namespace TravMerchant
+{
+    internal class Program
+    {
+        static void Main()
+        {
+            var table = new int?[,] {
+                { null, 20, 18, 12, 8 },
+                { 5, null, 14, 7, 11 },
+                { 12, 18, null, 6, 11 },
+                { 11, 17, 11, null, 12 },
+                { 5, 5, 5, 5, null },
+            };
+
+            var matrix = new ReducableMatrix(table);
+
+            SolutionNode node = new SolutionNode(matrix);
+
+            var pathPoints = node.Solve();
+            int[] path = new int[pathPoints.Count];
+            path[0] = 0;
+            for (int i = 1; i < path.Length; i++)
+            {
+                path[i] = pathPoints.Find(point => point.Item1 == path[i - 1]).Item2;
+            }
+
+            for (int i = 0; i < path.Length; i++)
+            {
+                Console.Write($"{(char)('A' + path[i])} -> ");
+            }
+
+            Console.WriteLine('A');
+
+            Console.ReadKey();
+        }
+    }
+}

+ 36 - 0
TravMerchant/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Общие сведения об этой сборке предоставляются следующим набором
+// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
+// связанные с этой сборкой.
+[assembly: AssemblyTitle("TravMerchant")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("TravMerchant")]
+[assembly: AssemblyCopyright("Copyright ©  2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
+// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
+// из модели COM задайте для атрибута ComVisible этого типа значение true.
+[assembly: ComVisible(false)]
+
+// Следующий GUID представляет идентификатор typelib, если этот проект доступен из модели COM
+[assembly: Guid("a00ef343-7888-4363-b713-7af9c9b2211e")]
+
+// Сведения о версии сборки состоят из указанных ниже четырех значений:
+//
+//      Основной номер версии
+//      Дополнительный номер версии
+//      Номер сборки
+//      Номер редакции
+//
+// Можно задать все значения или принять номера сборки и редакции по умолчанию 
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 214 - 0
TravMerchant/ReducableMatrix.cs

@@ -0,0 +1,214 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TravMerchant
+{
+    public class ReducableMatrix
+    {
+        private int?[,] matrix;
+
+        private SortedSet<int> rowReduces = new SortedSet<int>();
+        private SortedSet<int> columnReduces = new SortedSet<int>();
+
+        private List<(int, int)> path = new List<(int, int)>();
+
+        public ReducableMatrix(int?[,] matrix)
+        {
+            this.matrix = (int?[,])matrix.Clone();
+        }
+
+        private ReducableMatrix(ReducableMatrix matrix)
+        {
+            this.matrix = (int?[,])matrix.matrix.Clone();
+            foreach (int reduce in matrix.rowReduces)
+                rowReduces.Add(reduce);
+            foreach (int reduce in matrix.columnReduces)
+                columnReduces.Add(reduce);
+            path.AddRange(matrix.path);
+        }
+
+        private ReducableMatrix(ReducableMatrix matrix, int row, int column) : this(matrix)
+        {
+            this.matrix[column, row] = null;
+            rowReduces.Add(row);
+            columnReduces.Add(column);
+            path.Add((row, column));
+        }
+
+        public int? this[int i, int j]
+        {
+            get
+            {
+                var coords = Unreduce(i, j);
+                return matrix[coords.Item1, coords.Item2];
+            }
+            set
+            {
+                var coords = Unreduce(i, j);
+                matrix[coords.Item1, coords.Item2] = value;
+            }
+        }
+
+        public int GetLength(int dimension) => matrix.GetLength(dimension) - rowReduces.Count;
+
+        public ReducableMatrix Reduce(int row, int column)
+        {
+            var p = Unreduce(row, column);
+            return new ReducableMatrix(this, p.Item1, p.Item2);
+        }
+
+        private (int, int) Unreduce(int row, int column)
+        {
+            foreach (var reduce in rowReduces)
+            {
+                if (row >= reduce)
+                    row++;
+            }
+            foreach (var reduce in columnReduces)
+            {
+                if (column >= reduce)
+                    column++;
+            }
+            return (row, column);
+        }
+
+        public int[] RowMinimums()
+        {
+            int[] minimums = new int[GetLength(0)];
+            for (int i = 0; i < GetLength(0); i++)
+            {
+                minimums[i] = int.MaxValue;
+                for (int j = 0; j < GetLength(1); j++)
+                {
+                    if (this[i, j] == null)
+                        continue;
+                    if (minimums[i] > this[i, j])
+                        minimums[i] = (int)this[i, j];
+                }
+            }
+            return minimums;
+        }
+
+        public int[] ColMinimums()
+        {
+            int[] minimums = new int[GetLength(1)];
+            for (int j = 0; j < GetLength(1); j++)
+            {
+                minimums[j] = int.MaxValue;
+                for (int i = 0; i < GetLength(0); i++)
+                {
+                    if (this[i, j] == null)
+                        continue;
+                    if (minimums[j] > this[i, j])
+                        minimums[j] = (int)this[i, j];
+                }
+            }
+            return minimums;
+        }
+
+        public int? CalculateLowerBound(int? lastSum)
+        {
+            int[] rowMinimums = RowMinimums();
+            for (int i = 0; i < GetLength(0); i++)
+            {
+                for (int j = 0; j < GetLength(1); j++)
+                {
+                    if (this[i, j] != null)
+                        this[i, j] -= rowMinimums[i];
+                }
+            }
+
+            int[] colMinimums = ColMinimums();
+            for (int i = 0; i < GetLength(0); i++)
+            {
+                for (int j = 0; j < GetLength(1); j++)
+                {
+                    if (this[i, j] != null)
+                        this[i, j] -= colMinimums[j];
+                }
+            }
+
+            return rowMinimums.Sum() + colMinimums.Sum() + lastSum;
+        }
+
+        public int?[,] CalculateWeights()
+        {
+            int?[,] weights = new int?[GetLength(0), GetLength(1)];
+            for (int i = 0; i < GetLength(0); i++)
+            {
+                for (int j = 0; j < GetLength(1); j++)
+                {
+                    if (this[i, j] == 0)
+                    {
+                        int? min = null;
+                        for (int k = 0; k < GetLength(0); k++)
+                        {
+                            if (this[i, j] == null || j == k)
+                                continue;
+                            if (min == null || this[i, k] < min)
+                                min = this[i, k];
+                        }
+                        weights[i, j] = min;
+                        min = null;
+                        for (int k = 0; k < GetLength(1); k++)
+                        {
+                            if (this[i, j] == null || i == k)
+                                continue;
+                            if (min == null || this[k, j] < min)
+                                min = this[k, j];
+                        }
+                        weights[i, j] += min;
+                    }
+                    else
+                        weights[i, j] = 0;
+                }
+            }
+            return weights;
+        }
+
+        public (int, int) FindMaxWeightPoint(int?[,] weights)
+        {
+            var point = (0, 0);
+            int max = 0;
+            for (int i = 0; i < weights.GetLength(0); i++)
+            {
+                for (int j = 0; j < weights.GetLength(1); j++)
+                {
+                    if (weights[i, j] == null)
+                        return (i, j);
+                    if (weights[i, j] > max)
+                    {
+                        max = (int)weights[i, j];
+                        point = (i, j);
+                    }
+                }
+            }
+            return point;
+        }
+
+        public List<(int, int)> GetPath()
+        {
+            return path;
+        }
+
+        public override string ToString()
+        {
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < GetLength(0); i++)
+            {
+                for (int j = 0; j < GetLength(1); j++)
+                {
+                    if (this[i, j] == null)
+                        sb.Append("M  ");
+                    else
+                        sb.Append(string.Format("{0,-3}", this[i, j]));
+                }
+                sb.AppendLine();
+            }
+            return sb.ToString();
+        }
+
+        public ReducableMatrix Clone() => new ReducableMatrix(this);
+    }
+}

+ 83 - 0
TravMerchant/SolutionNode.cs

@@ -0,0 +1,83 @@
+using System.Collections.Generic;
+using System.Text;
+
+namespace TravMerchant
+{
+    public class SolutionNode
+    {
+        public ReducableMatrix Matrix;
+        public int? Value;
+        public SolutionNode Parent;
+        public SolutionNode Left;
+        public SolutionNode Right;
+
+        public SolutionNode(ReducableMatrix matrix)
+        {
+            Matrix = matrix;
+            Parent = null;
+            Value = matrix.CalculateLowerBound(0);
+        }
+
+        private SolutionNode(ReducableMatrix matrix, SolutionNode parent, int? lastSum, bool recalculate)
+        {
+            Matrix = matrix;
+            Parent = parent;
+            if (recalculate)
+            {
+                Value = matrix.CalculateLowerBound(lastSum);
+            }
+            else
+            {
+                matrix.CalculateLowerBound(lastSum);
+                Value = lastSum;
+            }
+        }
+
+        public bool HasChildren() => Left != null;
+
+        public List<(int, int)> Solve()
+        {
+            var leaf = MinimalLeaf();
+            for (; !leaf.IsSolved(); leaf = MinimalLeaf())
+            {
+                leaf.Calculate();
+            }
+            return leaf.Matrix.GetPath();
+        }
+
+        private SolutionNode MinimalLeaf()
+        {
+            if (HasChildren())
+            {
+                var leftMin = Left.MinimalLeaf();
+                var rightMin = Right.MinimalLeaf();
+                return leftMin.Value > rightMin.Value ? rightMin : leftMin;
+            }
+            return this;
+        }
+
+        public void Calculate()
+        {
+            int?[,] weights = Matrix.CalculateWeights();
+            var point = Matrix.FindMaxWeightPoint(weights);
+
+            var reducedMatrix = Matrix.Reduce(point.Item1, point.Item2);
+
+            var unincludeMatrix = Matrix.Clone();
+            unincludeMatrix[point.Item1, point.Item2] = null;
+
+            Left = new SolutionNode(reducedMatrix, this, Value, true);
+            Right = new SolutionNode(unincludeMatrix, this, Value + weights[point.Item1, point.Item2], false);
+        }
+
+        public bool IsSolved()
+        {
+            return Matrix.GetLength(0) == 0;
+        }
+
+        public override string ToString()
+        {
+            return new StringBuilder().Append($"({(Value == null ? "∞" : Value.ToString())})").AppendLine().Append(Matrix.ToString()).ToString();
+        }
+    }
+}

+ 55 - 0
TravMerchant/TravMerchant.csproj

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{A00EF343-7888-4363-B713-7AF9C9B2211E}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>TravMerchant</RootNamespace>
+    <AssemblyName>TravMerchant</AssemblyName>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="ReducableMatrix.cs" />
+    <Compile Include="SolutionNode.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>

BIN
TravMerchant/bin/Debug/TravMerchant.exe


+ 6 - 0
TravMerchant/bin/Debug/TravMerchant.exe.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
+    </startup>
+</configuration>

BIN
TravMerchant/bin/Debug/TravMerchant.pdb


+ 4 - 0
TravMerchant/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs

@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

BIN
TravMerchant/obj/Debug/Cumvoyager.csproj.AssemblyReference.cache


+ 1 - 0
TravMerchant/obj/Debug/Cumvoyager.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+63a02e2333c962838cf2842a7f4a501b9db5b753ec932457522dfdc65b1d12c8

+ 7 - 0
TravMerchant/obj/Debug/Cumvoyager.csproj.FileListAbsolute.txt

@@ -0,0 +1,7 @@
+D:\Programki\Cumvoyager\Cumvoyager\bin\Debug\Cumvoyager.exe.config
+D:\Programki\Cumvoyager\Cumvoyager\bin\Debug\Cumvoyager.exe
+D:\Programki\Cumvoyager\Cumvoyager\bin\Debug\Cumvoyager.pdb
+D:\Programki\Cumvoyager\Cumvoyager\obj\Debug\Cumvoyager.csproj.AssemblyReference.cache
+D:\Programki\Cumvoyager\Cumvoyager\obj\Debug\Cumvoyager.csproj.CoreCompileInputs.cache
+D:\Programki\Cumvoyager\Cumvoyager\obj\Debug\Cumvoyager.exe
+D:\Programki\Cumvoyager\Cumvoyager\obj\Debug\Cumvoyager.pdb

BIN
TravMerchant/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


BIN
TravMerchant/obj/Debug/TravMerchant.csproj.AssemblyReference.cache


+ 1 - 0
TravMerchant/obj/Debug/TravMerchant.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+63a02e2333c962838cf2842a7f4a501b9db5b753ec932457522dfdc65b1d12c8

+ 7 - 0
TravMerchant/obj/Debug/TravMerchant.csproj.FileListAbsolute.txt

@@ -0,0 +1,7 @@
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\obj\Debug\TravMerchant.csproj.AssemblyReference.cache
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\obj\Debug\TravMerchant.csproj.CoreCompileInputs.cache
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\bin\Debug\TravMerchant.exe.config
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\bin\Debug\TravMerchant.exe
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\bin\Debug\TravMerchant.pdb
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\obj\Debug\TravMerchant.exe
+D:\Downloads\Cumvoyager\Cumvoyager\Cumvoyager\obj\Debug\TravMerchant.pdb

BIN
TravMerchant/obj/Debug/TravMerchant.exe


BIN
TravMerchant/obj/Debug/TravMerchant.pdb


Vissa filer visades inte eftersom för många filer har ändrats