我寫一個應用程序Cuda的應該在我的集合S的兩個元素,但對順序犯規任何區別計算的功能,所以:f(a,b)
= f(b,a)
生成k個最獨特的子集對元素
出於這個原因,我想要生成最大大小爲K的S的所有子集,而不需要在集合之間複製元素對。
換句話說,給定任何兩個子集,我不希望它們的交集大於一個元素。 (這樣我可以避免計算這兩個元件的多次的功能)
實施例:
鑑於S={1,2,3,4,5,6,7,8,9}
和K=3
,輸出應該是這樣的:
{ {1,2,3}, {1,4,5}, {1,6,7}, {1,8,9}, {2,4,6}, {2,5,7}, {2,8}, {2,7,9}, {3,4,7},
{3,5,8}, {3,6,9}, {4,5,9} }
但輸出應不是這樣的:
{ {1,2,3}, {1,4,5}, {1,6,7}, {1,8,9}, {2,4,6}, {2,5,7}, {2,6,8}, {2,7,9}, {3,4,7},
{3,5,8}, {3,6,9}, {4,5,9} }
因爲{2,4,6}
和的交集是{2,6}
。
什麼是你的問題? – 2012-04-28 18:22:40
你能花些時間寫下你的問題嗎?它應該包含一個[簡短,獨立,正確的例子](http://sscce.org/);清楚描述問題所在,並描述[您嘗試過的](http://mattgemmell.com/2008/12/08/what-have-you-tried/)。 – Ben 2012-04-28 18:23:45
我想你可能會不小心遺漏了你的問題的某些部分。 – 2012-04-28 18:26:35