110,566
社区成员
发帖
与我相关
我的任务
分享
var a = new List<Goods>();
for (var i = 0; i < 23; i++) a.Add(new Goods() { Name = "A", Price = 115 });
for (var i = 0; i < 9; i++) a.Add(new Goods() { Name = "B", Price = 47 });
for (var i = 0; i < 19; i++) a.Add(new Goods() { Name = "C", Price = 98 });
for (var i = 0; i < 18; i++) a.Add(new Goods() { Name = "D", Price = 168 });
for (var i = 0; i < 7; i++) a.Add(new Goods() { Name = "E", Price = 76 });
var d = new Dictionary<string, Goods>();
foreach (var x in a.Combination(4))
{
if (x.Distinct(y => y.Name).Count() == 4)
{
var k = string.Join("", x.Select(y => y.Name));
var p = x.Select(t => t.Price).Sum();
if (!d.ContainsKey(k)) d[k] = new Goods() { Name = k, Price = p };
d[k].Num++;
}
}
foreach (var x in d.Values.OrderBy(y=>y.Price))
{
Console.WriteLine("{0} {1} {2}", x.Name, x.Num, x.Price);
}
ABCE 27531 336
BCDE 21546 389
ABDE 26082 406
ABCD 70794 428
ACDE 55062 457