|
-
Jul 29th, 2020, 06:47 AM
#1
Thread Starter
Junior Member
Vb net permutation list only between odds...
Code:
using System;
using System.Collections.Generic;
namespace PermutationsOfInteger
{
class Program
{
static void Main(string[] args)
{
PrintResult(
Permute(new int[] { 1,2,3 })
);
}
static IList<IList<int>> Permute(int[] nums)
{
var list = new List<IList<int>>();
return DoPermute(nums, 0, nums.Length - 1, list);
}
static IList<IList<int>> DoPermute(int[] nums, int start, int end, IList<IList<int>> list)
{
if (start == end)
{
// We have one of our possible n! solutions,
// add it to the list.
list.Add(new List<int>(nums));
}
else
{
for (var i = start; i <= end; i++)
{
Swap(ref nums[start], ref nums[i]);
DoPermute(nums, start + 1, end, list);
Swap(ref nums[start], ref nums[i]);
}
}
return list;
}
static void Swap(ref int a, ref int b)
{
var temp = a;
a = b;
b = temp;
}
static void PrintResult(IList<IList<int>> lists)
{
Console.WriteLine("[");
foreach (var list in lists)
{
Console.WriteLine($" [{string.Join(',', list)}]");
}
Console.WriteLine("]");
}
}
}
Here is good code for permutation from the link: https://www.chadgolden.com/blog/find...ray-in-c-sharp
Question: How can I change this so it can do permutation only
- even with even
- odd with odds
for example:
Here is list ALL pemutatitions for {"AAA", "BBB", "CCC", "DDD", "EEE"}
AAA+BBB+CCC+DDD+EEE
AAA+BBB+CCC+EEE+DDD
AAA+BBB+DDD+CCC+EEE
AAA+BBB+DDD+EEE+CCC
AAA+BBB+EEE+DDD+CCC
AAA+BBB+EEE+CCC+DDD
AAA+CCC+BBB+DDD+EEE
AAA+CCC+BBB+EEE+DDD
AAA+CCC+DDD+BBB+EEE
AAA+CCC+DDD+EEE+BBB
AAA+CCC+EEE+DDD+BBB
AAA+CCC+EEE+BBB+DDD
AAA+DDD+CCC+BBB+EEE
AAA+DDD+CCC+EEE+BBB
AAA+DDD+BBB+CCC+EEE
AAA+DDD+BBB+EEE+CCC
AAA+DDD+EEE+BBB+CCC
AAA+DDD+EEE+CCC+BBB
AAA+EEE+CCC+DDD+BBB
AAA+EEE+CCC+BBB+DDD
AAA+EEE+DDD+CCC+BBB
AAA+EEE+DDD+BBB+CCC
AAA+EEE+BBB+DDD+CCC
AAA+EEE+BBB+CCC+DDD
BBB+AAA+CCC+DDD+EEE
BBB+AAA+CCC+EEE+DDD
BBB+AAA+DDD+CCC+EEE
BBB+AAA+DDD+EEE+CCC
BBB+AAA+EEE+DDD+CCC
BBB+AAA+EEE+CCC+DDD
BBB+CCC+AAA+DDD+EEE
BBB+CCC+AAA+EEE+DDD
BBB+CCC+DDD+AAA+EEE
BBB+CCC+DDD+EEE+AAA
BBB+CCC+EEE+DDD+AAA
BBB+CCC+EEE+AAA+DDD
BBB+DDD+CCC+AAA+EEE
BBB+DDD+CCC+EEE+AAA
BBB+DDD+AAA+CCC+EEE
BBB+DDD+AAA+EEE+CCC
BBB+DDD+EEE+AAA+CCC
BBB+DDD+EEE+CCC+AAA
BBB+EEE+CCC+DDD+AAA
BBB+EEE+CCC+AAA+DDD
BBB+EEE+DDD+CCC+AAA
BBB+EEE+DDD+AAA+CCC
BBB+EEE+AAA+DDD+CCC
BBB+EEE+AAA+CCC+DDD
CCC+BBB+AAA+DDD+EEE
CCC+BBB+AAA+EEE+DDD
CCC+BBB+DDD+AAA+EEE
CCC+BBB+DDD+EEE+AAA
CCC+BBB+EEE+DDD+AAA
CCC+BBB+EEE+AAA+DDD
CCC+AAA+BBB+DDD+EEE
CCC+AAA+BBB+EEE+DDD
CCC+AAA+DDD+BBB+EEE
CCC+AAA+DDD+EEE+BBB
CCC+AAA+EEE+DDD+BBB
CCC+AAA+EEE+BBB+DDD
CCC+DDD+AAA+BBB+EEE
CCC+DDD+AAA+EEE+BBB
CCC+DDD+BBB+AAA+EEE
CCC+DDD+BBB+EEE+AAA
CCC+DDD+EEE+BBB+AAA
CCC+DDD+EEE+AAA+BBB
CCC+EEE+AAA+DDD+BBB
CCC+EEE+AAA+BBB+DDD
CCC+EEE+DDD+AAA+BBB
CCC+EEE+DDD+BBB+AAA
CCC+EEE+BBB+DDD+AAA
CCC+EEE+BBB+AAA+DDD
DDD+BBB+CCC+AAA+EEE
DDD+BBB+CCC+EEE+AAA
DDD+BBB+AAA+CCC+EEE
DDD+BBB+AAA+EEE+CCC
DDD+BBB+EEE+AAA+CCC
DDD+BBB+EEE+CCC+AAA
DDD+CCC+BBB+AAA+EEE
DDD+CCC+BBB+EEE+AAA
DDD+CCC+AAA+BBB+EEE
DDD+CCC+AAA+EEE+BBB
DDD+CCC+EEE+AAA+BBB
DDD+CCC+EEE+BBB+AAA
DDD+AAA+CCC+BBB+EEE
DDD+AAA+CCC+EEE+BBB
DDD+AAA+BBB+CCC+EEE
DDD+AAA+BBB+EEE+CCC
DDD+AAA+EEE+BBB+CCC
DDD+AAA+EEE+CCC+BBB
DDD+EEE+CCC+AAA+BBB
DDD+EEE+CCC+BBB+AAA
DDD+EEE+AAA+CCC+BBB
DDD+EEE+AAA+BBB+CCC
DDD+EEE+BBB+AAA+CCC
DDD+EEE+BBB+CCC+AAA
EEE+BBB+CCC+DDD+AAA
EEE+BBB+CCC+AAA+DDD
EEE+BBB+DDD+CCC+AAA
EEE+BBB+DDD+AAA+CCC
EEE+BBB+AAA+DDD+CCC
EEE+BBB+AAA+CCC+DDD
EEE+CCC+BBB+DDD+AAA
EEE+CCC+BBB+AAA+DDD
EEE+CCC+DDD+BBB+AAA
EEE+CCC+DDD+AAA+BBB
EEE+CCC+AAA+DDD+BBB
EEE+CCC+AAA+BBB+DDD
EEE+DDD+CCC+BBB+AAA
EEE+DDD+CCC+AAA+BBB
EEE+DDD+BBB+CCC+AAA
EEE+DDD+BBB+AAA+CCC
EEE+DDD+AAA+BBB+CCC
EEE+DDD+AAA+CCC+BBB
EEE+AAA+CCC+DDD+BBB
EEE+AAA+CCC+BBB+DDD
EEE+AAA+DDD+CCC+BBB
EEE+AAA+DDD+BBB+CCC
EEE+AAA+BBB+DDD+CCC
EEE+AAA+BBB+CCC+DDD
Rule should be:
AAA can be permutated with CCC and EEE only
BBB can be permutatated with DDD only..
CCC can be permutated with AAA and EEE only....
Thanks
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|