public static void Main(string[] args) { string inputname = args[0]; string outputname = args[1]; string[] lines = File.ReadAllLines(inputname); int ncases = int.Parse(lines[0]); IList<string> results = new List<string>(); Strategy strat = new Strategy(); int nline = 0; for (int k = 0; k < ncases; k++) { nline++; int nnumbers = int.Parse(lines[nline].Trim()); nline++; var first = lines[nline].Trim().Split(' ').Select(n => double.Parse(n)).ToList(); nline++; var second = lines[nline].Trim().Split(' ').Select(n => double.Parse(n)).ToList(); int nwinwar = strat.CalculateWar(first, second); int nwindwar = strat.CalculateDeceitfulWar(first, second); results.Add(string.Format("Case #{0}: {1} {2}", k + 1, nwindwar, nwinwar)); } File.WriteAllLines(outputname, results.ToArray()); }
public void CalculateDeceitfulWarCaseTwo() { Strategy strat = new Strategy(); var result = strat.CalculateDeceitfulWar(new double[] { 0.7, 0.2 }, new double[] { 0.8, 0.3 }); Assert.AreEqual(1, result); }
public void CalculateDeceitfulWarCaseOne() { Strategy strat = new Strategy(); var result = strat.CalculateDeceitfulWar(new double[] { 0.5 }, new double[] { 0.6 }); Assert.AreEqual(0, result); }
public void CalculateDeceitfulWarCaseThree() { Strategy strat = new Strategy(); var result = strat.CalculateDeceitfulWar(new double[] { 0.5, 0.1, 0.9 }, new double[] { 0.6, 0.4, 0.3 }); Assert.AreEqual(2, result); }
public void CalculateDeceitfulWarCaseFour() { Strategy strat = new Strategy(); var result = strat.CalculateDeceitfulWar(new double[] { 0.186, 0.389, 0.907, 0.832, 0.959, 0.557, 0.300, 0.992, 0.899 }, new double[] { 0.916, 0.728, 0.271, 0.520, 0.700, 0.521, 0.215, 0.341, 0.458 }); Assert.AreEqual(8, result); }