static void Main(string[] args)
{
string a, b;
Console.WriteLine("Enter a and b values");
var userInput = Console.ReadLine();
var words = userInput.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
if (words.Length == 2)
{
a = words[0];
b = words[1];
Console.WriteLine(string.Format("a = {0}; b = {1}", a, b));
}
else
{
Console.WriteLine("Error, invalid args count.");
}
Console.WriteLine("Press Enter to exit");
Console.ReadLine();
}
Получается что в третьей таблице на пересечениях будут находится все возможные конечные варианты, при этом известны все три входных условия по которым мы туда попали. В целом это все что необходимо, дальше уже по требованиям, что там за алгоритм такой.