From 3c792f06765f25a4da498ab79d13e3692eecbcd1 Mon Sep 17 00:00:00 2001 From: fuligni <fuligni@netlab.fauser.edu> Date: Mon, 7 Mar 2022 08:46:43 +0100 Subject: [PATCH] Modifiche del 07/03/2022 --- Grafi/.vs/Grafi/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 69287 bytes Grafi/.vs/Grafi/v16/.suo | Bin 0 -> 33280 bytes Grafi/Grafi.sln | 31 ++++ Grafi/LibreriaGrafi/Grafo.cs | 166 ++++++++++++++++++ Grafi/LibreriaGrafi/LibreriaGrafi.csproj | 7 + ...CoreApp,Version=v5.0.AssemblyAttributes.cs | 4 + .../Debug/net5.0/LibreriaGrafi.assets.cache | Bin 0 -> 142 bytes .../LibreriaGrafi.csproj.FileListAbsolute.txt | 12 ++ .../LibreriaGrafi.csproj.nuget.dgspec.json | 62 +++++++ .../obj/LibreriaGrafi.csproj.nuget.g.props | 18 ++ .../obj/LibreriaGrafi.csproj.nuget.g.targets | 6 + Grafi/LibreriaGrafi/obj/project.assets.json | 67 +++++++ Grafi/PercorsoDijkstra/PercorsoDijkstra.cs | 41 +++++ .../PercorsoDijkstra/PercorsoDijkstra.csproj | 12 ++ ...CoreApp,Version=v5.0.AssemblyAttributes.cs | 4 + .../net5.0/PercorsoDijkstra.assets.cache | Bin 0 -> 142 bytes ...rcorsoDijkstra.csproj.FileListAbsolute.txt | 19 ++ .../obj/Debug/net5.0/apphost.exe | Bin 0 -> 125952 bytes .../PercorsoDijkstra.csproj.nuget.dgspec.json | 120 +++++++++++++ .../obj/PercorsoDijkstra.csproj.nuget.g.props | 18 ++ .../PercorsoDijkstra.csproj.nuget.g.targets | 6 + .../PercorsoDijkstra/obj/project.assets.json | 90 ++++++++++ README.md | 3 +- 23 files changed, 685 insertions(+), 1 deletion(-) create mode 100644 Grafi/.vs/Grafi/DesignTimeBuild/.dtbcache.v2 create mode 100644 Grafi/.vs/Grafi/v16/.suo create mode 100644 Grafi/Grafi.sln create mode 100644 Grafi/LibreriaGrafi/Grafo.cs create mode 100644 Grafi/LibreriaGrafi/LibreriaGrafi.csproj create mode 100644 Grafi/LibreriaGrafi/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs create mode 100644 Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.assets.cache create mode 100644 Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.csproj.FileListAbsolute.txt create mode 100644 Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.dgspec.json create mode 100644 Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.props create mode 100644 Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.targets create mode 100644 Grafi/LibreriaGrafi/obj/project.assets.json create mode 100644 Grafi/PercorsoDijkstra/PercorsoDijkstra.cs create mode 100644 Grafi/PercorsoDijkstra/PercorsoDijkstra.csproj create mode 100644 Grafi/PercorsoDijkstra/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs create mode 100644 Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.assets.cache create mode 100644 Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.csproj.FileListAbsolute.txt create mode 100644 Grafi/PercorsoDijkstra/obj/Debug/net5.0/apphost.exe create mode 100644 Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.dgspec.json create mode 100644 Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.props create mode 100644 Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.targets create mode 100644 Grafi/PercorsoDijkstra/obj/project.assets.json diff --git a/Grafi/.vs/Grafi/DesignTimeBuild/.dtbcache.v2 b/Grafi/.vs/Grafi/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..9eebc6a59ee61a002f2fed065f83cbeabe540b2f GIT binary patch literal 69287 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 M2|D}f44eG~03A^|g#Z8m literal 0 HcmV?d00001 diff --git a/Grafi/.vs/Grafi/v16/.suo b/Grafi/.vs/Grafi/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..4a21638a0fea4667efcd2a99d227143e50c38721 GIT binary patch literal 33280 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 literal 0 HcmV?d00001 diff --git a/Grafi/Grafi.sln b/Grafi/Grafi.sln new file mode 100644 index 0000000..36c3efb --- /dev/null +++ b/Grafi/Grafi.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32002.261 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibreriaGrafi", "LibreriaGrafi\LibreriaGrafi.csproj", "{07DE39C2-AF81-44A4-A048-C848B2CD66C5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PercorsoDijkstra", "PercorsoDijkstra\PercorsoDijkstra.csproj", "{05C00BA9-0229-4649-92F0-45181941E2DD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {07DE39C2-AF81-44A4-A048-C848B2CD66C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {07DE39C2-AF81-44A4-A048-C848B2CD66C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {07DE39C2-AF81-44A4-A048-C848B2CD66C5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {07DE39C2-AF81-44A4-A048-C848B2CD66C5}.Release|Any CPU.Build.0 = Release|Any CPU + {05C00BA9-0229-4649-92F0-45181941E2DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {05C00BA9-0229-4649-92F0-45181941E2DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {05C00BA9-0229-4649-92F0-45181941E2DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {05C00BA9-0229-4649-92F0-45181941E2DD}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1C736D2E-7FB6-4F2D-B2E9-F5F46B8B8E9D} + EndGlobalSection +EndGlobal diff --git a/Grafi/LibreriaGrafi/Grafo.cs b/Grafi/LibreriaGrafi/Grafo.cs new file mode 100644 index 0000000..3c0119a --- /dev/null +++ b/Grafi/LibreriaGrafi/Grafo.cs @@ -0,0 +1,166 @@ +/* + * Progetto: Libreria per lo studio dei grafi + * + * Autore: Roberto Fuligni + * Ultima modifica: 06/03/2022 + * + * Descrizione: Gestione dei nodi e dei vertici di un grafo. + */ + +using System.Collections.Generic; +using System.Text; + +namespace LibreriaGrafi +{ + public class Grafo + { + public const int Infinito = int.MaxValue; + public const int NessunNodo = int.MinValue; + public enum Tipo { Orientato, NonOrientato }; + + private int numNodi; + private Tipo tipo; + private int[,] pesi; + + // Accesso ai pesi degli archi attraverso gli indici dei nodi sorgente e destinazione + // Esempio: g[1][3] = 20 Memorizza un arco (orientato oppure non orientato, in base al tipo di grafo) + // di peso 20 dal nodo sorgente 1 al nodo destinazione 3 + public int this[int sorg, int dest] + { + get { return pesi[sorg, dest]; } + set + { + pesi[sorg, dest] = value; + // Un arco non orientato equivale a una coppia di archi orientati + if (tipo == Grafo.Tipo.NonOrientato) + pesi[dest, sorg] = value; + } + } + + public Grafo(int numNodi, Tipo tipo = Tipo.Orientato) + { + this.numNodi = numNodi; + this.tipo = tipo; + pesi = new int[numNodi, numNodi]; + // Inizializzazione dei pesi del grafo + // All'inizio il grafo non contiene archi -> tutti i pesi sono infiniti + for (int i = 0; i < numNodi; i++) + for (int j = 0; j < numNodi; j++) + pesi[i, j] = Grafo.Infinito; + } + + // Calcolo del percorso a costo minimo, a partire da un dato nodo sorgente, + // mediante l'algorimo di Dijkstra. + // Il metodo restituisce un nuovo grafo rappresentante il Minimum Spanning Tree + // elaborato a partire dal nodo indicato. + public Grafo Dijkstra(int partenza) + { + // Definizione dello stato dei nodi mediante vettori paralleli + + int[] costoTot = new int[numNodi]; // Vettore dei costi totali + int[] pred = new int[numNodi]; // Vettore dei nodi predecessori + + // Criterio di confronto tra due nodi (utilizzato per stabilire la priorità di elaborazione nella coda) + // definito mediante statement Lambda. + // + // Dati due nodi A e B, la funzione di confronto restituisce un numero negativo se A è elaborato prima di B + // (A ha priorità maggiore); un numero positivo se A è elaborato dopo B. + // Il risultato del confronto è calcolato per differenza tra i costi totali di A e B (precedenza ai costi minori) + // Nel caso di costi uguali, si sceglie di stabilire la priorità in base all'id del nodo (precedenza agli id minori). + + IComparer<int> confrontaNodi = Comparer<int>.Create( + (a, b) => + { + int pa = costoTot[a]; + int pb = costoTot[b]; + return (pa != pb ? pa - pb : a - b); + }); + + // Implementazione di una coda con priorità mediante SortedSet. + // La coda contiene gli id dei nodi in attesa di essere elaborati. + // Gli elementi inseriti nella coda sono ordinati in base alla priorità: + // il primo elemento della coda (elemento minimo) corrisponde al + // nodo con priorità maggiore. + + SortedSet<int> coda = new SortedSet<int>(confrontaNodi); + + // Fase 1: Inizializzazione dello stato e inserimento dei nodi in coda + for (int i = 0; i < numNodi; i++) + { + costoTot[i] = (i == partenza ? 0 : Grafo.Infinito); + pred[i] = Grafo.NessunNodo; + coda.Add(i); + } + + while (coda.Count > 0) + { + // Estrazione dalla coda del nodo a costo minimo + int corrente = coda.Min; + coda.Remove(corrente); + + // Se il nodo estratto ha peso infinito, la coda contiene solo nodi irraggiungibili: + // il ciclo può essere interrotto. + if (costoTot[corrente] == Grafo.Infinito) + break; + + for (int vicino = 0; vicino < numNodi; vicino++) + { + // Analisi dei nodi vicini (collegati al nodo corrente con un arco) + int peso = this[corrente, vicino]; + if (peso != Grafo.Infinito && costoTot[corrente] + peso < costoTot[vicino]) + { + // Per aggiornare il costo totale, si rimuove il nodo "vicino" dal set, + // si ricalcola il suo costo e si reinserisce il nodo aggiornato nel set. + // Questa operazioni sono equivalenti all'aggiornamento della priorità + // del nodo nella coda. + + coda.Remove(vicino); + costoTot[vicino] = costoTot[corrente] + peso; + pred[vicino] = corrente; // Aggiornamento del nodo predecessore + coda.Add(vicino); + } + } + } + + // Costruzione del grafo MST a partire dagli stati finali dei nodi + Grafo mst = new Grafo(numNodi, Grafo.Tipo.Orientato); + for (int i = 0; i < numNodi; i++) + { + int h = pred[i]; + // Se il nodo i ha un predecessore, si inserisce nel grafo l'arco pesato h -> i + if (h != Grafo.NessunNodo) + mst[h, i] = pesi[h, i]; + } + return mst; + } + + public override string ToString() + { + // Rappresentazione testuale del grafo. + // Il formato di rappresentazione è compatibile con + // il software GraphViz (https://graphviz.org/). + + // Strumento online per visualizzare un grafo in formato GraphViz: + // https://dreampuf.github.io/GraphvizOnline/ + + + var sb = new StringBuilder(); + string tg = tipo == Grafo.Tipo.Orientato ? "digraph" : "graph"; + string tl = tipo == Grafo.Tipo.Orientato ? "->" : "--"; + sb.AppendLine(tg + " {"); + for (int i = 0; i < numNodi; i++) + { + int inizio = tipo == Grafo.Tipo.NonOrientato ? i : 0; + for (int j = inizio; j < numNodi; j++) + { + int peso = this[i, j]; + if (peso != Grafo.Infinito) + sb.AppendLine($" {i} {tl} {j} [label={peso}];"); + } + } + + sb.AppendLine("}"); + return sb.ToString(); + } + } +} diff --git a/Grafi/LibreriaGrafi/LibreriaGrafi.csproj b/Grafi/LibreriaGrafi/LibreriaGrafi.csproj new file mode 100644 index 0000000..f208d30 --- /dev/null +++ b/Grafi/LibreriaGrafi/LibreriaGrafi.csproj @@ -0,0 +1,7 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net5.0</TargetFramework> + </PropertyGroup> + +</Project> diff --git a/Grafi/LibreriaGrafi/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs b/Grafi/LibreriaGrafi/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2f7e5ec --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// <autogenerated /> +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] diff --git a/Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.assets.cache b/Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..8cd7f9142b2cc19d0625ae3449aef1e518c379ff GIT binary patch literal 142 zcmWIWc6a1rU|{GxCow-@*_!X40u`Ml+iuU4IM8oA?bV63Nt{=u3!hI(=wcuY7#SEC p6rHVNLW@(2ieubLb28KOGGp}eO4CzIVhR$IvlG)(i(~Ma0|3lGA1VL< literal 0 HcmV?d00001 diff --git a/Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.csproj.FileListAbsolute.txt b/Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..55f5ca6 --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/Debug/net5.0/LibreriaGrafi.csproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.csproj.AssemblyReference.cache +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.AssemblyInfoInputs.cache +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.AssemblyInfo.cs +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.csproj.CoreCompileInputs.cache +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\bin\Debug\net5.0\LibreriaGrafi.deps.json +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\bin\Debug\net5.0\LibreriaGrafi.dll +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\bin\Debug\net5.0\ref\LibreriaGrafi.dll +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\bin\Debug\net5.0\LibreriaGrafi.pdb +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.dll +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\ref\LibreriaGrafi.dll +C:\Users\Fuligni\source\repos\Grafi\LibreriaGrafi\obj\Debug\net5.0\LibreriaGrafi.pdb diff --git a/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.dgspec.json b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.dgspec.json new file mode 100644 index 0000000..9d921a8 --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.dgspec.json @@ -0,0 +1,62 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj": {} + }, + "projects": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "projectName": "LibreriaGrafi", + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "packagesPath": "C:\\Users\\Fuligni\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Fuligni\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.props b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.props new file mode 100644 index 0000000..a67070b --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.props @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> + <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> + <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> + <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> + <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> + <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Fuligni\.nuget\packages\</NuGetPackageFolders> + <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> + <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.1</NuGetToolVersion> + </PropertyGroup> + <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> + <SourceRoot Include="C:\Users\Fuligni\.nuget\packages\" /> + </ItemGroup> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.targets b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.targets new file mode 100644 index 0000000..53cfaa1 --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/LibreriaGrafi.csproj.nuget.g.targets @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Grafi/LibreriaGrafi/obj/project.assets.json b/Grafi/LibreriaGrafi/obj/project.assets.json new file mode 100644 index 0000000..902619e --- /dev/null +++ b/Grafi/LibreriaGrafi/obj/project.assets.json @@ -0,0 +1,67 @@ +{ + "version": 3, + "targets": { + "net5.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net5.0": [] + }, + "packageFolders": { + "C:\\Users\\Fuligni\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "projectName": "LibreriaGrafi", + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "packagesPath": "C:\\Users\\Fuligni\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Fuligni\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Grafi/PercorsoDijkstra/PercorsoDijkstra.cs b/Grafi/PercorsoDijkstra/PercorsoDijkstra.cs new file mode 100644 index 0000000..3e0efbb --- /dev/null +++ b/Grafi/PercorsoDijkstra/PercorsoDijkstra.cs @@ -0,0 +1,41 @@ +/* + * Progetto: Calcolo del percorso a costo minimo mediante algoritmo di Dijkstra + * + * Autore: Roberto Fuligni + * Ultima modifica: 07/03/2022 + * + * Descrizione: Costruisce un grafo pesato e determina il MST a partire da un dato nodo sorgente. + * Il grafo iniziale e il MSt sono visualizzati in formato GraphViz. + */ + +using LibreriaGrafi; +using System; + +namespace PercorsoDijkstra +{ + class PercorsoDijkstra + { + static void Main(string[] args) + { + // Esempio di grafo non orientato con sei nodi. + // Gli archi non hanno pesi negativi + + const int NumeroNodi = 6; + var g = new Grafo(NumeroNodi, Grafo.Tipo.NonOrientato); + g[0, 1] = 4; g[0, 5] = 3; g[0, 1] = 4; + g[0, 5] = 3; g[1, 2] = 2; g[1, 4] = 5; + g[1, 5] = 1; g[2, 3] = 2; g[3, 4] = 1; + g[3, 5] = 6; g[4, 5] = 20; + + Console.WriteLine("Per visualizzare un grafo: https://dreampuf.github.io/GraphvizOnline"); + Console.WriteLine("# GRAFO INIZIALE"); + Console.WriteLine(g); + + Grafo mst = g.Dijkstra(0); + + Console.WriteLine(); + Console.WriteLine("# MST"); + Console.WriteLine(mst); + } + } +} diff --git a/Grafi/PercorsoDijkstra/PercorsoDijkstra.csproj b/Grafi/PercorsoDijkstra/PercorsoDijkstra.csproj new file mode 100644 index 0000000..b8164bd --- /dev/null +++ b/Grafi/PercorsoDijkstra/PercorsoDijkstra.csproj @@ -0,0 +1,12 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>net5.0</TargetFramework> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\LibreriaGrafi\LibreriaGrafi.csproj" /> + </ItemGroup> + +</Project> diff --git a/Grafi/PercorsoDijkstra/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2f7e5ec --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// <autogenerated /> +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] diff --git a/Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.assets.cache b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..35d2fae5aa07276e7770b285da98fff7eeb226f6 GIT binary patch literal 142 zcmWIWc6a1rU|^8+UwJHB<H4!DZ>CBr1Wk7pn4PoF$$o!gy8o&23GSh}T?~W)BLf42 oqO(;@XmM&$ag1AOPG)*uW{h55X?ki&OhICDc4B&JaST3l0QPqsQUCw| literal 0 HcmV?d00001 diff --git a/Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.csproj.FileListAbsolute.txt b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..5a542c8 --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/PercorsoDijkstra.csproj.FileListAbsolute.txt @@ -0,0 +1,19 @@ +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.exe +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.deps.json +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.runtimeconfig.json +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.runtimeconfig.dev.json +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.dll +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\ref\PercorsoDijkstra.dll +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\PercorsoDijkstra.pdb +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\LibreriaGrafi.dll +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\bin\Debug\net5.0\LibreriaGrafi.pdb +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.csproj.AssemblyReference.cache +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.AssemblyInfoInputs.cache +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.AssemblyInfo.cs +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.csproj.CoreCompileInputs.cache +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.csproj.CopyComplete +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.dll +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\ref\PercorsoDijkstra.dll +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.pdb +C:\Users\Fuligni\source\repos\Grafi\PercorsoDijkstra\obj\Debug\net5.0\PercorsoDijkstra.genruntimeconfig.cache diff --git a/Grafi/PercorsoDijkstra/obj/Debug/net5.0/apphost.exe b/Grafi/PercorsoDijkstra/obj/Debug/net5.0/apphost.exe new file mode 100644 index 0000000000000000000000000000000000000000..e444b0012b825ad7d33872e0aaa5632e0c86b7bf GIT binary patch literal 125952 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%0D2LLPII@S4;StDP zXF-fTur?F41Z89f=c@xevzQ*SRIn{&Vku=}umZO!!1bL1gPe&xgB+s-Mtvu<myux? z$XwOEj0~20Vdf@6T>1grjM~8UgXsawOJ=q+ETF4Sz;&N^iYbG5hzWzZi7|sXqXD@6 z01Atoy^IV+ps)b74@yDiRWdQDGO?I|+VtQuoSQ*1g^NKlgp)zigo8mcNc4fEF*k!! zNi2g>N(_UNNi>5JV;D+WJ+PONVG*dW3Tm63+{?(oF@a$x6O$<~!v`iwaV7?iNi5*D z$&0;6Y2_ox?i2<orZo(b>g)_+jByO;@g}j4k>L@@T*ZBi3?}<veop|Wmj_^S0Z$Ku z4%0(smQW@(US^h`;Ia?W-{WDB2;pXsFyVri7m#rjNZTD!J{mB{fZA4A`rlLbLDS6K zeT)p(_c1aE@qkiDfl)^atPR|dq>;nG07*p+Mj*B$^DGE;38eNQB#s&s1esXW*cPx< zafooq@vPyB;gI3W;t*wG2;$Ham?WekV9LV50CA5YPWPznhq_01KO;lTentj9zAH|Q z4B$Y3CNhXiph*pylp7%lkC8?07=sbhKZbiOMr<dUISz1X@oeH#Wa1HJ;&b5n$i%Ue znZbbvxqmWYKO;lJ)cv4Q4hBh0E(YlmK?dm*0S0Lkeg^4D;PMxoANTBs#_7@hj0|T$ z>cRD#1IH%@Gp1f<hI632Da^>g0;;&aF)+M=sRyN%ulpGp*g$Ql90tgEhy#N>qZ!uv zMCAY@18DkGL-zn9L-YYg20n1vp$G}%3*c~2gm`u#lU0Eb1H(aPs|lAG7&d^1L!|aF z6|wkm#By@!vhoD+S#fc)^0e?-aed&hWMKl`oeJqE7&1ti7%)gNYN6!q1qT=zoIrU7 zROYNaz{tR{g2|DYp@?ZBGXo?|v4i@P1>k;k2x1&c5Y)C#;bagAK^^;ha{$!-Il##9 z=K!c&2lasyShAQ}!Q}y3-&^7!BSV7hK}H592L?t?Mg~sMm>-A+jc<Ya;ENa-1VJ=( z9Kz!uXq;{xBSRoaj}H^19_3>Y3E^cBG2sEX6G3xIoFF|)3=DgOK(j{-4D}xw7&t#M zFl0J2f@wx3Mh2z;1_n-WUjs2V08$Tfr|1_32C1(M42{l=VA}61149B5AFLmGq!M_n zQiy?pk%NVSqX^QHVg#ED>gTaC@C$JlFp9D=h??wT5M|uK02;Ss<Yi&tHQ{97HDUwJ zSTKM9$la1M%nW>tGGMoX+Pk1jcNtZA7*sP@86-;t86;B#7$igZ86-{k7$i4|K7jaN zkU=CwfI-BBpFw1kKmn%&6NAJh5d)B4KxTgb%fKN1kAY#nGb5O0WM^hzZ(<H$GGJif z<Yi>wZ9;_8O;$#R7p#m7b}kSatkwylmQj?0L9_(aM`ULZHDO~AH4=OP@h3k6zX=}$ z|0K{TCj$c$6AJ^g7y}zq0wd_|bohEICProkCNTy!#sbKEDadV*@f86EnGk*k852I( zm<V`$g;9=+LC%DaLC#3(gTw=|3nJi=5`h3oZEgn13_b=?P#yJw=K<FRjst83tO+az z3=A8r!Cg6qr3Q=)tcHvXZLSdds6Hcuk|86*9Pnjk3=EfH<Ih1%0g|9`I7U&>xH8-% zP}qU$#7|m~`M@hK5E{hasm;j13^m76hmpZvhmip$597n+A^ziKkO|?z7(Zf^=3<ae z5o3@J5oM4z5n+)21TJ?9IKlN44})Y1H-n@J7pRW<ApAh^0?19Ew5cS)$Pg(BN!ODl z85t@i85uw{C_F(lCzf~u=>^H3mSkjbl!E9Dmttg))Z${0VKl^OkAu=4DDoJkxEQ2N zL>QztiG2`xAap_C0HhxbX~(N$)u#cn2o%0Z7@WRAc@mVranPJdWdqE;w$_Xc1=frV z2V5aE$Q%$}0=?`f<0#ZJkRTL;!f3(?Mh1(Mm~t?E3$W+|Rjvn)GBUh4id`?rc+lJn zh=$EqgXX6z9)m<sF=)*jNCa73!xNAQDu%ho;25S`LGB4ShTlD)wPYX@k?r||#XT^4 zX5g@A2LXFPYsJv**@MSF497A31Bw?10`X#jLtnsg>~R8GLxAqC9?&I*AVDYwg`>m? zMh0AI0_3g?9PT>t4B`)1_=4u$IY5yPH5*33!xxMDL26*~4^BYL1BoHyjOP$>m^~mX zen8VWvO3V3IS?ONT?=Sp5hRF&L2HgcTx4}$U<dhvBtRERg3dff^B>4w6D;OQpt%ne z4hbN|P_sZ3Xe?0RBqPIy<BSYDPB1dyiffQs81_K3A7n1J@P)0RMfMK|mhgdva|K#F z>;TQRLM?T>z{p?`z{rqr1`_5V;iL<U3=aYs83K^R>Mk%cTnJ=j0MFBc6frO``~cnY z8^Fk*a2BE0?h+%zf*?kQ3rJ!KmlzoWf*Bb)kj!hi#K^!A#K>R(z5f_w<bq3#3>$(O z848fp9lFHG@F9?qVF!}flS_;Y7D0>*97uMsU1ntH2x4SNKr&D5G9$x-V1(O1cEIrH z{nL<e0nM?4!esRRX-IgC-aicqhv9zzbR&~{YKd=tN@-52M<VEy&u|6?ITruYl7i9_ zm(--v^kDEoZQ%?IEsSoNc`0t0Ma3m<nK`Mh72ymF7L2Z-`_0gfYGq(Z2AS$snv)Zd zSd!tFn422Tz%Ui8-!HWStUa7T0i?#cw5TXGuOt9^>sA9u4B0hcTWS%aAe*7)9bxuK zO)N{ruse$x=NYmL&LERq^U5-d^7B9kY=<QlWr8k_3TLPTyUsZ$zc`iQ8?$d|PD!Ry zWl3sCet2d|s&htS5knS8uTNrei7WVGItCvQALJg#l9Hm#q|%bqVz6sZF#F^urubwg z6(tr`Ix;Zq0I36c&=Gd+p9rH1_)vFrrwg*dEDOnpyMSQ^vuAO5ez}<m$c$9b%AHfl zHh}H)b`A1#^)WVr98}Z8<O{hu&?&znoFO#WH3%lNjxjhRH7CaveA!-VI76_9s}D@u z0j8i-(7lMRWvO{3;S3Dxn1WK%GmA@7i@+km;7k0%85rI&xTF?g$}lv7)Pv5(0iE?5 z&cM(E;`<k*=6R=9f*ctQ;)4U&JGGL*(Iw0=z!T;!ONMyp0d?^OiA9OIsU@jJ@p<{6 zlV;=d@*&5JgG%T4_{8L*lK9O0q<GK;e+-QbX$7Sv<;kEsZ^5i$&~3VD-~))u8Pd{n zN{cfX7}z1F|7YgMC+Fwp=I6zirIi;HW#*NnF)#>X$Q8rok{II4)A9>a^B86@6sMMy zC6$79ca|rE&&*>`WB?s}o0rePu#BNRxi~L5w}3&M0dzunelqB;-Qtp><l=%n27XK% zAeP4$GYBz2&OlAh&nshKIL(k&lv+{1;LZ?VUXq{5AkPq=o?DWcn`&ml;104Q4a5Ph z<B10`%uE;(3o><ci*-TkGn0!-bc;&!KoYt+hPsBj2H?birlPncB{Lt7d`4<w0kSl@ z4Upqr@u>iLCAFvoSqYjOAYMjRfNo1}Vo3%*d2~-QJOt%2NJ#}c2RxjCAqRIU;99|8 z!swcpoS%{!kPp6}k%5=dB^8;!o!Q6PH?aU>qH6`iRhFQV9OuM>lG377=lnd-I#q@{ zATgi({Or;Kx6-_1&?%O#c_pBW{vLy5!XW4Qhvt=M=A|$&9AFL2%K#U!DXtaJYn<FN zb4pT+7#QkVgHuazO3z~r0p0SKmspYtF9CX(J&U27{35s1M3B1zKvzBHl`yn2dlrLB z?)20mm{<@?U}<VmWk6~X_;Ss><W%SUQc%gwpa=>%)Kb_pg+UcbGz5G`yJrdm!)K6a zF!*M_kj&gv$6`?F2VybgBZYRbPiAq62k2tKN1$+k1b}M=!#xl$AUPx-qzfdUTEvjS z5|o%(oC*&S1_nn^SRj?M*+?d%m6wirDZvGqd0?L~Y+wz6pGdw5#D<kb44Xkb_*vr{ zK|JsY<y#m*6ttXX;AMyh-A)K15_3|ELAkax4@E?hAs2iRJp+R<s5F42Vg@$QO(V&m zOD!NJ5)(swe0)wa)SP(G+3yeu(7H;n3@DuyB&MfAggqJJ%ae;!N(&g6K{|7j;*(2@ z;&T%#AkqvW4B+cs8CHVwe_l>%9s>tMJgAV#OD)e}FaedDuzLaG^YcJg0K|ju-C$s_ zVTgwn(=ZuOnF&g#3~~(dpmH=3d}jcI7(;wANGAh>14DdqYDRn-IAO-8R-`gGfkaB; z6AKFBL7rsb1eIo~C8fowpi5daQj3Zh7$h0ulk@Y^GSf?oQsc`rQ&Qs-i_*(LXO_fg z!jE%@NTed_UIqqDhWPZ<5||oH1!fT6m82HsGMFRS@u>`<3=sD!GsJ@#ArM!l<>sfP zf|k$5#}~xMgItl!0Ewaa`1o?LqeL0vlOcL+k-`UZ4*?|7K;DjrgbX;KlM+D}W`aT; z>_>=FXzYtY?9EFpj|W@L2ucm{kZK0xl5_@;<1;~dm!XpZR3j8r#)H@5f@(7m2K8M* zEltpxG#DR5pN&<xly>F+f1^eBb!TcbFqA?M#|5bcjZNr7&)H`90a6VaI|Z>o=7DG! z2C0X!L3Fne)6T3!1&gBU$xI^G7Z?eD-TCbOI%A1<*1G3ZHfOC%sD$i)1@+rO>Qjs@ zl9Mfr%ym<ZP11BtOiYb+EmP7=bPZF@EzMFb(+pD#5QpD^?|m*x&Mzv?cgf7kE-oob z1Xn^JgGTXa2#kinhz|kSxeB-ff?o0#nUHc0<_<l3$1qqI1a>#KLvcxp188v>0|Ns# z^*Q<JnaQ9|Kz<QiDOPph+Y(R}VpEr2S`we177spr8)hIjbxDaS@$kDqp$f671KpTV zT9oPlyDI^z6zpYe>Y?2S6o+C{2eKdB6hbl(n>xrP$|%NR4M&i9pt~WEjKiuf9@6$i zF%X-*=wSo$FgA4{d%<^F#Dgku$ek9*Zos84-YqdXwFG?q1Y9{b^W%N;lQVM*93YJa zxKfa@SpAm<G8RoW7IQ=6or_AqPKMlkg<>!^^^oQ%=>9Z>QY`Ai>{Y-j9pb|Ysmm+P zjV~xIaflBOvsZ!M^pRAW77w}sCb1;H$RR#F)LtbyBe5vHq$n}7q!?}{#AFBw3JC1( z$Sch)0QITh+OUQfs6iSJ8Y6&ZQjmc|3=0S_FlY-fFzBphWH1n5U<ib=69gC-+M(<T z0t^h>q3i<!3=Geq><<DA4B~<iy$XU1;JsWRa}op@7#g7Bpna72LJSPxJ!(P>3^Roo z7zEZbGAt2dU|<u5ut9SsR#0|=FayIPVFm_?wTuimgc%q>^Gzyi8NoDY4hW<dL>Gua z^n&O{5r`W=b4~}K;ul017=%O_7)(I>pF|lL7KuX4Tq4TAz$(GOV6&Ey0W_xrnlA#` z1)|qUK-3(NU|?vKgs>+_GB9kEgxGaOl7Rs<Uj=dxh&GUdh=b^8C_6@qf#I?g14GYR zMusa=3=HYg3=CJ+GBSV`dR~`?xbucI1H%p(28K6l85s`9FfcrlftVv8%fL`5%fO(r zj*+23mVx0Rl+7T=z~CXrz+kbCks(2jfnf!dy+MwF;X6of9U}vSJOe|8JOe`jNUuBt z!zFnJhJ<yD3=iZP7)lfv7z#k*3JeVQ6d?Y3puoT&tOyAo1w{sictr+=9+3Hp3=EeP zA?~@N$iQ$&nSo);I!1;g$_xz7dJGJ2)-f`G7GoFdF)*xI&&W`s$H1`BfPvw}dPar= z1`G^)4H*~&HZU?AFl1m*HD+K?0c`>_VPKFkV_>k^zzC*w%^~JDm@_cgTQD$0Y+z(? z0Bu&ags>Sb85kTaA!<NdfEGj9ODq`}+N>b%@33NE_+!n$P_TiKVTKI@!$unhh7B7S z8MfFkFkH2P=)GaXz>sPS2{+KP+9S3Q@e8&L3@mmKa|G-d7-rf*)XcGCVEAUoz;I>* zBf}3n28QMK3=AJOFfy#LXJFuVU|<jdZS8SjV91BE3mh02);mDLZG!^?gQgP$gULol z1|25`hNVuBcwFJcz#!?&z)-P~kwM0pfuRq|p5V;Dpzi`vW8lKTu+4>mp<^Q>!wwe) zhLbLkbaKXpfg#G3fnm)?Mur$y28LN~kT9I%#=xNH!N9O(BO`-~2LpqlCnVfVJQ)~z zyddHr8nngd!bV005WUYEV&(yF28JEJ3=ABb7{T;sUx+wpJCD2{14F?kMh4J^7jHiX zhMrA~3_gAg3=jPv;r7Ijfx*BZ!UoY-{TUdRY+_^pE&i1bU|@K#iIG7jfPrBtXg&63 zMursu3=F>l7#IvTGcx=MU|>iLg1Bu<5Cg-?5C(<}&{mfa1_t#|28JD={VJgh42z-c zC7}!qiQx<kM>aDuq=YjtfVQrH$`%kU9RYEJOaueN$p{99ADbB&ZbUFJ*hE6aL9}lq z#9uX$3=A`)7#KLVFfz=EVqmx)&A?!@g^}S#Gy_9I3`9MMz8c5C5CRg9V_;aCz`(Fz z3nRmd1O|q0i3|)kwlFgMNMvB(N@if-*viPjlgz*{H<^J!V=E)Wf@B5;(DFo!t&Ct= zA{COBKy)XR-IL0|5R?Xq>yR`ChSoF&h76GUGzNxKX%KgwNn>DW$z)(C*~$o}d$S;6 zH6e?E;c*rN!;Y<t3{SEc7*1w0Fr3)R$Z#f`fk7>Yf#CsYPe%>|gGUa;FCcnNE&~J0 zHbw>z&6Ll;-~-x1k<Y;JGM|B=Wg8>In|ua_zXc2od$ut$FcdN{1Qatcyx7Lbz*EA& zkW&J24~Xt7Wnj?R&d4yKl!4)06$69Ec1DH|RSXQvs~H&fY-eOxQO&^6U&Fv~1*E2i zfgu=lNZJlYhLBnYhTU}x3<f(G84lDjFvQg}FihFO$dFLaz!22Pz_13yZe(BxYKF3# z85l}i7#QB{U}R`$VPKfr3Slp3Wnfs}24Qb#V_?|d4q+c?XJBCOVqjp|$;cqk#lT?Q z1@XH>7Xw2Pl-<z9z_1C*KG4O$pxzD1?;hO@3_rRd?g!BudLV2NeRl!_gU?Pzh6fWE z7@DUtFs#|h$e=KdfuV64L~qM91_rI^3=BNG7#Vb?GcYWg4$0R`rZX^f&SYRv*u}`u zGn0W~&MXE7aK4+xz_4aEgbku!&4J|KH***m7S4mj?~-{841ecC*bEC87`827V5ryy zI?ITG!EYf0!=7D?3;_!n7|t$YV0g2OkpZ+IooO+|zbuOx7{rz`FzD=NWRO_Oz)-ss zlJ**wGB8Y8#=y|An-NS)u3%tTu$z%VW(5O7#VQ7dGrJkV^oCUse}QPFH4F?qdl(s1 z)-W)<*ucPGvxgB(dv9i7Sg?nY!DllA!?tY<3}5yzGVIs}idzN-kG+fx20IuS1a?Bg z5JW%T$-vOCmyzMgP6mdh`xqEz>}6zFv5$elV?P7KmA#B$n)NUP!w=As<--gNzYa4n zc<f_j_;Z+nA@c|WL&82rhMXe|43~~V%Csv-85ly3L&E3G2?hq=vkVM5`xqGl&N487 zmYV+A#|Wl(US?ou*w4tY=Q0Dsf~yP+GxjrrY4K|e3^(>OGDuuwV2HTK!0=~3BbeUu zfPtar03-NZi_}Muc+7ajz_9ueBuv&kVqkdw2olaO9x*T|KZdYD3rE8qL-Gh{jnx*Y zIEeoJ7*d~t);d`{fv5-3^-mz;ptV+@^+}*M42b>#RRf~!pF-3)JY`^Lhq61KGBB)o z%D@0>Z-D62Q1+Rp3=Hp~><>>F7=)ie)QCJ|U@(WWEuJwj?0d$*aNqzV!+~cE3}(+E zX~W?;1H+u>5I=(GE6*YByz`ua;mQjJh6@K6!L<KN28JyM7#RXyGBE6X2~of2B?H6N zmk__-c*(%P_6nkx;}rvg6_joBih-f*6+}(LD+Y$mQ1+fz3=D>^A?i(DGcas^&A`BN zkdfieYX%0MHw+942N}V%^&5y9n>P#$>)$XiXdGl@*zksdA@40jyx=VZ1IIgvdq8x{ zI|c@WgNzIy`p-LvdX@JK4Ds(FZb*2~!0_Td14GC`Mh4IU2y!177&1WXbw4mLq<nyw z38LqIfT&;afq~&ARQ$~c28QyF5H%Gb`V#{~&Ot^7flmw!CZ8bUAUYPxPWZ&YFbm3_ z^NE3B^CyUz2R<<{yoQQ1d}d(S_8Fr0z-I=A3!fosK=ex}`^{$thK#Qa3{ws=G8BAe zU}*XZQ3G24xDd)-@|A(%|5pZvGa!F`V_>NN2FZgHzA-S|`^La<;~*pWj24ma5W5t< zGcbJm4hf$x-x(NEe=smS0Ga=TfkE&W1H+qxj0^_97#OO5Gcf!Ch39VuhHJke_I~)y zz~KD{66QXC7#M#1VPN1n#K<7?mx00jFGNkqUj~K=e<5l>^cg4{bUuvYKL&=3LyQb6 z{}>qD{zKY?0sk2on*KxduK3Tuz{kkQU~!0%L4c8wL7$0{LFEu5!v|(Y1}zpwaDPFE zg^{72g%R8@XkcMvn8d;e?z2o`VPseaWv^giWH<m-528VPb3l0wL{DdBWC%IL$gqHw zk%5<ukzvXqMg|c!Mh0g#i1`_8j11@4Am(3SV`O;51~LB$8zaLvC>yl7iHRK|&ce>f zFp-^+;lLqAhAHff3_IB&=3HQBWOxNt^M;*~p@)N!;mRRKh6Nmq3>!EY8D1P>WH`XV z$Y9FP$nfP5Blz5$Fn)-c1^kQ*_xKqZet`VW4?25?k%8ebBZGhdBf|ngMh2e4j0_tD z85zoj7#Rc(GcthA+F2k3(F>w?LfN2os>ekb8AJ{<GJFtWWZ)Nts1XolWYC1Nbwn8% zUW+n<`xI|P85u0aAbz(IV`OL+gQ#y2V`NwcWp5B;WSB0_2yWZY5NBkVDapv7afFd! zjwB;PtP~?d#t}w_1Sv)aLup2aEk_s`Or#kZ^c5HxrW|2pFi>D*kXL48ICF%NK|z_3 zAy$PE+<r(<VPsgO3Slo%Wn{3>U}O+D0--m7*lQUXK<g$?XhOpFgC-+`gAOCZjKho! zCv+JZ{PiH>0eXxK4SEpwgXlCvMh1_=j0_ouj0~Yhj0|56GcrUNF)}<bVg&cC<`^?F zWSKBB7#wC~$T4ALFg9fbx6e&X85z<{A%4#=Wn`Fd3Ne3!DI>!PQ$~glM;I9{m@+b4 zG-YJ?a)goLfhi-yLsLeEA4fp_8b*dJb4GBRJja}oVWT-j?-p}LhF?(jA9F?qCku$U ziv=UYR11ikXIL;Y{Ir0?g@7d^Lx3eC1H(~9h6GDShAvA+29BeQ3==FF8Maw6G6)=H zWH?~S$iQyJ$RKf)k-@;4k)hU_kwM`oBY2&;Dd?P~?TicoHjE5GHjE4shZq?OY#15J zY#1374ly!-4);i~Wn_?9$H)LWXaRK20*DRTxBu3Tks)If<P0fgdk7n}k$J8?MEy#8 zMh4KPVUQZo##+$URghi~9pwN~1KL;$+B6Ch2hlsB;-KxG4vvfrJv$)hQh_%1fy@EX zpgnyc^&ncp31SXt)1C{I4cc_`7s>|hm1uNkWav4_2;K()+CKo&3!*{$13C^t_6dO2 zzHd1MSpyGR_YP76qCso#LE<19wC;YwVaWRX{jQ7*AU0@CH|Pu}koo{OMuydHkoel* z#>nu_4U#rKxG^&5xid0YfXdz>Hr|8o+;^bziIb5*gOiaVo|BQ`7AGUaeojV)4V;V& z2AqrxXE_-ergAbev~e;r2yikoEaqfnDBxsd@Ze-*_`t!)u#KCMVLdk^!$NLGhRNKF z46WRZ429f`46)pd44&MK45r+S49|EN8Se8iGF;?gWH`*j$gq`%kzpYZBSS9_BSR$* zBSR_=BZCtkBZD;`BZDp<BZE92BZD9xBLg!ZBg0o-Muz9Sj0`t<Av1}7f{YB_pfXU9 zk-=S%ks(Boks(Epk)cG8k-<ffk)cMAks(5mkzs-$BSV8ABSU~7BSV59BSV28BZGq= zBf|_qh&kxtFw*&;eI=j+v_OX~D=;uLfR<5PFfcU0!UZA^*`pDFLp%eEI7mO-5C+iP zI7kE%2cSLO3k;YT1eh5Zo<J;M*kH`W@QM+^7hnb*K^4Xj%mBOHG?>AY!Jom80dgau z8-qW{K!&|6@Bcw&p&@2N*bEGi+i)TF!eqc27(i$8gH(lq@AQV<kO(@bJ&hqBtVD$Y z<S59EuAuw!V5h!=ZtemrVA#M?0NTUJ5DdO$7j!;)I{Zcigh@VNH3keYXu^;LJ`2f- zL6Cuw0dzkF=$<;rJzRbakUMTb<_CapxB#774m#01p8<52X%<5^_#Oh#EtMcOUSKm| zt_R(|Rm^~Xn>0urF=iPsa4;~!-H&<$BFGFw=p8VidtgA@%)A&x85qGgB7*LQC<5Os zo5O(c0U<jPx2!WTXfQA_Ff#Zsq%x#~@23KVN&!P9_zqvlUFHnnTa$ypcKSobK_L#h z7X;>i(A~D6Tk04XNU<9d4*}qN=~5U<!FQJ-d_mYOP}mqSurYv6fh=OkXMmZ39)gJQ zV_>iVhqWUE=x$cfJ%ym#*Fop(<JJSZe}{qL{qFrX_7%A~3T2Qh0Bw~F^$e60QbEhf zGV{`Hl|n<@bS;z=5T_y9DpjTyE7{xea`AH6Bo-H^<|gG-Dpcg=<Q3a0l@{e$6(?t; z<|Y>F=4K`r<rn9tmFOnt=UOEe=jxRiDk<b9=4Ga(7MFw}+h@nirJw*e%rhl5uOzdi z62(n=1|WBV)*sm_`Bpj>6y#(kCxRCL=p_~uDCt8?C@Cr}F7eDu%O}!3MoM6P3JNyG zsmY~9nI)A_zJh{HQEFjnYH>+wN<dL&S!PaZdTKF|rW(UcRZu`S2eL{vGe6HKwJbG9 zAqPa-DkT<s=9T4VrxqzGlx8|6C#Mz{+bV%?#)WzcY=}M<*Fc?WqmSZt8+~{n*zt1N z=)+>jF2FIs(Z$8n&pjdn%79W-<ue2@GH`$j#w8p}1eQoFQCMQI#A1oV5|1STOCpve zEXi0>u%u#1!;+3A6PB!4vSG=GWj~fNEazA*uv}uf!E%e`4$D232P}_Rp0GS)dBO6E z<qgX_mQPqdWBG#RE0%9qzGL};<tLV3Sbk&qgXJBoW~^GVYR9S*t8T1%vFgVvj@1&Y zHC9`!_E;UUI%9Rk>W<YjR<BsSWA%yEH&(w`{bM!98i_R;Yb@4ytch5Yv8G~8$C?>y zR;<~v=ERyCYhJARv4&%<#9EED7Hd7$My$<PTd}rd?Toc6*6vt)V(pE!FV_B8%dt*k zoyIzgbsp;?)@7`#Sl6*`#<~^jcC0(G?#8+o>wc``STC_&W4*<CkM$Aj85lr^l!EpM zDlF4jX0Xg+nZq)VWyJaG#qtl!e=KKM!LdSMg~SSl6&foHR#>cXSmCiEU`51=gcTVp z3RW1bv{>n|(qkpZDuGoJs}xo_tO{6_u&Q8H!>S3Z7OdK^>cFZCs~)WSu!>=|z-oon z2CE%b2dqw5U9h@g^@P<6R&Q8+VD*L74_1Fz&9Fvbjlvp(H4bY6)+DScSktg(!kPtZ zHmo_Y=E9l>Yd)-DSSzqrVXeVhhqVD~6V?{2ZCE>D?Si!%)*e`UVeNypAJ#Ig6IiFP z&S0Ixx`1^F>k8I2tedcI!MY9W4y?Pd?!meb>loGxtXEiXu-;*P!1{#s1?wBuPguWT z{f6}i)?ZlvVEqSBI2AB5fa-0A1p*5c78opWSP-xvVL`!yh6NKAELgB%!GQ%A7Ccz+ zVFANJfrSbS4HiPe2IBjGl@TiwR%Wa$SXr^MVP(h42`gu;T(EM*$_*=btUR#t#L5dR zZ>)T<^2N#zD}StHSOp6!ja3G#ELJ(J@>mtHDq>Z_s*F_yt14DCtm;@bVHE=d!vsbK z(7BiyYZ}&cteLPzV6DblgS8fG9o9Ci?N~cu?Toby3=9t-XQ575P_cBy(hEy}ELB+M uv8-a*f@LR`eOM;3++lgf@&(IJEdQ}wVMV}-iWLi1Fs#&A2`bfxKL!An&tj7R literal 0 HcmV?d00001 diff --git a/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.dgspec.json b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.dgspec.json new file mode 100644 index 0000000..22d9f39 --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.dgspec.json @@ -0,0 +1,120 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj": {} + }, + "projects": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "projectName": "LibreriaGrafi", + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj", + "packagesPath": "C:\\Users\\Fuligni\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Fuligni\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" + } + } + }, + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj", + "projectName": "PercorsoDijkstra", + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj", + "packagesPath": "C:\\Users\\Fuligni\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Fuligni\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj": { + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.props b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.props new file mode 100644 index 0000000..a67070b --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.props @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> + <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> + <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> + <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> + <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> + <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Fuligni\.nuget\packages\</NuGetPackageFolders> + <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> + <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.1</NuGetToolVersion> + </PropertyGroup> + <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> + <SourceRoot Include="C:\Users\Fuligni\.nuget\packages\" /> + </ItemGroup> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.targets b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.targets new file mode 100644 index 0000000..53cfaa1 --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/PercorsoDijkstra.csproj.nuget.g.targets @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Grafi/PercorsoDijkstra/obj/project.assets.json b/Grafi/PercorsoDijkstra/obj/project.assets.json new file mode 100644 index 0000000..d7e71b4 --- /dev/null +++ b/Grafi/PercorsoDijkstra/obj/project.assets.json @@ -0,0 +1,90 @@ +{ + "version": 3, + "targets": { + "net5.0": { + "LibreriaGrafi/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v5.0", + "compile": { + "bin/placeholder/LibreriaGrafi.dll": {} + }, + "runtime": { + "bin/placeholder/LibreriaGrafi.dll": {} + } + } + } + }, + "libraries": { + "LibreriaGrafi/1.0.0": { + "type": "project", + "path": "../LibreriaGrafi/LibreriaGrafi.csproj", + "msbuildProject": "../LibreriaGrafi/LibreriaGrafi.csproj" + } + }, + "projectFileDependencyGroups": { + "net5.0": [ + "LibreriaGrafi >= 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\Fuligni\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj", + "projectName": "PercorsoDijkstra", + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\PercorsoDijkstra.csproj", + "packagesPath": "C:\\Users\\Fuligni\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\PercorsoDijkstra\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Fuligni\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": { + "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj": { + "projectPath": "C:\\Users\\Fuligni\\OneDrive\\Desktop\\4A\\SR\\algoritmi-di-routing\\Grafi\\LibreriaGrafi\\LibreriaGrafi.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 6b8fdd6..3157b9e 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,5 @@ Soluzioni di alcuni degli esercizi proposti durante le lezioni di "Sistemi e reti". -* [Regole di routing](Regole%20routing) \ No newline at end of file +* [Regole di routing](Regole%20routing) +* [Ricerca del percorso minimo](Grafi) \ No newline at end of file -- GitLab