Exemplo n.º 1
0
        private void ShowCliquesList()
        {
            /// Create List of cliques
            GraphCliques = new List <GraphClique>();
            ///foreach (var item in GraphFromLibrary.maximalCliqueSet.Select((value, idx) => new { value, idx }))
            for (int idx = GraphFromLibrary.maximalCliqueSet.Length; idx-- > 0;)
            {
                var clique = GraphFromLibrary.maximalCliqueSet[idx];; ///item.value;
                var index  = idx;                                     ///item.idx;

                int[]  sortedClique = clique.OrderBy(i => i).ToArray();
                int    _number      = sortedClique.Length;
                string _vertices    = string.Join(", ", sortedClique);

                GraphClique gc = new GraphClique {
                    Number = _number, Vertices = _vertices
                };
                GraphCliques.Add(gc);
            }

            /// Assign List to DataGrid

            this.DataGrid1.ItemsSource = GraphCliques;
            this.DataGrid1.Columns.Clear();
            this.DataGrid1.AutoGenerateColumns = false;
            this.DataGrid1.AutoGenerateColumns = true;
            this.DataGrid1.Columns[0].Header   = "K";
            this.DataGrid1.Columns[1].Header   = "Vertices";
            this.DataGrid1.Items.Refresh();

            /// Autosize columns
            foreach (DataGridColumn column in DataGrid1.Columns)
            {
                column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToCells);
            }
        }
Exemplo n.º 2
0
 private static Boolean KawigiEdit_RunTest(int testNum, string[] p0, Boolean hasAnswer, int[] p1)
 {
     Console.Write("Test " + testNum + ": [" + "{");
     for (int i = 0; p0.Length > i; ++i) {
         if (i > 0) {
             Console.Write(",");
         }
         Console.Write("\"" + p0[i] + "\"");
     }
     Console.Write("}");
     Console.WriteLine("]");
     GraphClique obj;
     int[] answer;
     obj = new GraphClique();
     DateTime startTime = DateTime.Now;
     answer = obj.allClique(p0);
     DateTime endTime = DateTime.Now;
     Boolean res;
     res = true;
     Console.WriteLine("Time: " + (endTime - startTime).TotalSeconds + " seconds");
     if (hasAnswer) {
         Console.WriteLine("Desired answer:");
         Console.Write("\t" + "{");
         for (int i = 0; p1.Length > i; ++i) {
             if (i > 0) {
                 Console.Write(",");
             }
             Console.Write(p1[i]);
         }
         Console.WriteLine("}");
     }
     Console.WriteLine("Your answer:");
     Console.Write("\t" + "{");
     for (int i = 0; answer.Length > i; ++i) {
         if (i > 0) {
             Console.Write(",");
         }
         Console.Write(answer[i]);
     }
     Console.WriteLine("}");
     if (hasAnswer) {
         if (answer.Length != p1.Length) {
             res = false;
         } else {
             for (int i = 0; answer.Length > i; ++i) {
                 if (answer[i] != p1[i]) {
                     res = false;
                 }
             }
         }
     }
     if (!res) {
         Console.WriteLine("DOESN'T MATCH!!!!");
     } else if ((endTime - startTime).TotalSeconds >= 2) {
         Console.WriteLine("FAIL the timeout");
         res = false;
     } else if (hasAnswer) {
         Console.WriteLine("Match :-)");
     } else {
         Console.WriteLine("OK, but is it right?");
     }
     Console.WriteLine("");
     return res;
 }