另一道排列组合题
//给出一个数组 {"1,2,3","4,5,6","7,8,9"} 列出他的如下形式的组合 147 148 149 157 158 159 167 168 169 247 248....
static void Main(string[] args)
{
string[] str = new string[3];
str[0] = "12,34";
str[1] = "c,d";
str[2] = "d,f";
Matrix m = new Matrix(str[0].Split(','));
for (int i = 1; i < str.Length; i++)
{
m = m.Multiply(new Matrix(str[i].Split(',')));
}
foreach (string s in m.element)
{
Console.WriteLine(s);
}
}
struct Matrix
{
public string[] element;
public Matrix(string[] s)
{
element = s;
}
public Matrix Multiply(Matrix m)
{
string[] s = new string[this.element.Length * m.element.Length];
int index = 0;
for (int i = 0; i < this.element.Length; i++)
{
for (int j = 0; j < m.element.Length; j++)
{
s[index] = this.element[i] + "," + m.element[j];
index++;
}
}
return new Matrix(s);
}
}