Esempio n. 1
0
 public void ToOriginal()
 {
     var phrases = new Phrases(Phrases.DefaultPowerWords);
     var original = string.Join("", phrases.All);
     var canonical = original.ToDirections().ToPhrase();
     Console.WriteLine(canonical);
     var converted = phrases.ToOriginalPhrase(canonical);
     Console.WriteLine(converted);
     Assert.AreEqual(original, converted);
 }
Esempio n. 2
0
        private static SubmitionJson Solve(ProblemJson p, int seed)
        {
            var phrases = new Phrases(Phrases.DefaultPowerWords);

            var map = p.ToMap(seed);
            var finder = new MagicDfsFinder(phrases);
            var bestRes = new Solver(phrases, finder, new MephalaOracle(finder, WeightedMetric.Keening)).Solve(map);
            //            var s2 = new Solver(finder, new AzuraOracle()).Solve(map);
            //            var bestRes = new[] { s1, s2 }.OrderByDescending(s => s.Score).First();
            return new SubmitionJson
            {
                problemId = p.id,
                seed = seed,
                solution = phrases.ToOriginalPhrase(bestRes.Commands),
                tag = bestRes.Name + "-" + DateTime.Now
            };
        }
Esempio n. 3
0
 public void Score_NestedPhrase()
 {
     var phrases = new Phrases(Phrases.DefaultPowerWords);
     var testPhrase = "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.".ToDirections().ToPhrase();
     var originalPhrase = phrases.ToOriginalPhrase(testPhrase);
     Assert.That(phrases.GetPowerScore(originalPhrase), Is.EqualTo(714));
 }