1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System; using System.Collections.Generic; using System.Linq; static class Program { private static void Main(string[] args) { "foo".ToCharArray().Permutate().ForEach(Console.WriteLine); "abbccc".ToCharArray().Permutate().ForEach(Console.WriteLine); Console.Read(); } public static List<string> Permutate(this IEnumerable<char> s) { return s.SelectMany(x => { var index = Array.IndexOf(s.ToArray(), x); return s.Where((y, i) => i != index) .Permutate() .Select(y => new string(new[] {x}.Concat(y).ToArray())) .Union(new[] {new string(new[] {x})}); }).Distinct().Where(x => x.Length == s.Count()).ToList(); } } |
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpzdGF0aWMgY2xhc3MgUHJvZ3JhbQp7CiAgICBwcml2YXRlIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKCXsKCQkiZm9vIi5Ub0NoYXJBcnJheSgpLlBlcm11dGF0ZSgpLkZvckVhY2goQ29uc29sZS5Xcml0ZUxpbmUpOwoJCSJhYmJjY2MiLlRvQ2hhckFycmF5KCkuUGVybXV0YXRlKCkuRm9yRWFjaChDb25zb2xlLldyaXRlTGluZSk7CgoJCUNvbnNvbGUuUmVhZCgpOwoJfQoKCXB1YmxpYyBzdGF0aWMgTGlzdDxzdHJpbmc+IFBlcm11dGF0ZSh0aGlzIElFbnVtZXJhYmxlPGNoYXI+IHMpCgl7CgkJcmV0dXJuIHMuU2VsZWN0TWFueSh4ID0+CgkJCXsKCQkJCXZhciBpbmRleCA9IEFycmF5LkluZGV4T2Yocy5Ub0FycmF5KCksIHgpOwoJCQkJcmV0dXJuCgkJCQkJcy5XaGVyZSgoeSwgaSkgPT4gaSAhPSBpbmRleCkKCQkJCQkgLlBlcm11dGF0ZSgpCgkJCQkJIC5TZWxlY3QoeSA9PiBuZXcgc3RyaW5nKG5ld1tdIHt4fS5Db25jYXQoeSkuVG9BcnJheSgpKSkKCQkJCQkgLlVuaW9uKG5ld1tdIHtuZXcgc3RyaW5nKG5ld1tdIHt4fSl9KTsKCQkJfSkuRGlzdGluY3QoKS5XaGVyZSh4ID0+IHguTGVuZ3RoID09IHMuQ291bnQoKSkuVG9MaXN0KCk7Cgl9Cn0KCg==
-
upload with new input
-
result: Success time: 0.09s memory: 34208 kB returned value: 0
lovepeaceharmony
foo ofo oof abbccc abcbcc abccbc abcccb acbbcc acbcbc acbccb accbbc accbcb acccbb babccc bacbcc baccbc bacccb bbaccc bbcacc bbccac bbccca bcabcc bcacbc bcaccb bcbacc bcbcac bcbcca bccabc bccacb bccbac bccbca bcccab bcccba cabbcc cabcbc cabccb cacbbc cacbcb caccbb cbabcc cbacbc cbaccb cbbacc cbbcac cbbcca cbcabc cbcacb cbcbac cbcbca cbccab cbccba ccabbc ccabcb ccacbb ccbabc ccbacb ccbbac ccbbca ccbcab ccbcba cccabb cccbab cccbba
-
result: Success time: 0.09s memory: 34208 kB returned value: 0
spam
foo ofo oof abbccc abcbcc abccbc abcccb acbbcc acbcbc acbccb accbbc accbcb acccbb babccc bacbcc baccbc bacccb bbaccc bbcacc bbccac bbccca bcabcc bcacbc bcaccb bcbacc bcbcac bcbcca bccabc bccacb bccbac bccbca bcccab bcccba cabbcc cabcbc cabccb cacbbc cacbcb caccbb cbabcc cbacbc cbaccb cbbacc cbbcac cbbcca cbcabc cbcacb cbcbac cbcbca cbccab cbccba ccabbc ccabcb ccacbb ccbabc ccbacb ccbbac ccbbca ccbcab ccbcba cccabb cccbab cccbba
-
result: Success time: 0.09s memory: 34272 kB returned value: 0
foo ofo oof abbccc abcbcc abccbc abcccb acbbcc acbcbc acbccb accbbc accbcb acccbb babccc bacbcc baccbc bacccb bbaccc bbcacc bbccac bbccca bcabcc bcacbc bcaccb bcbacc bcbcac bcbcca bccabc bccacb bccbac bccbca bcccab bcccba cabbcc cabcbc cabccb cacbbc cacbcb caccbb cbabcc cbacbc cbaccb cbbacc cbbcac cbbcca cbcabc cbcacb cbcbac cbcbca cbccab cbccba ccabbc ccabcb ccacbb ccbabc ccbacb ccbbac ccbbca ccbcab ccbcba cccabb cccbab cccbba


