iki sayının listeleri ve toplamları bir listesi (belirli bir sırayla yok) arasında listelemek uygun çiftleri kümesini bulma:Verilen özetliyor
a = [1,2,3]
b = [4,5,6]
c = [6,7,8]
nasıl d[k] = (a[i], b[j])
böyle çiftleri d
tüm setleri bulabilirsiniz c[k] = a[i] + b[j]
'un çiftlerin değiştirilmeden a ve b'den kullanıldığı yerlerdir? c = [7,7,7]
için
d = [(1,5), (3,4), (2,6)]
d = [(2,4), (1,6), (3,5)]
(bütün listeleri çiftleri olabilir):
d = [(1,6), (2,5), (3,4)]
(1 cevabı bütün permütasyon esasen eşdeğerdir çünkü)
Ben uzunlukta listeleri ile bu yapmak istiyorum ~ 500, yani bir naif eşleme/geri arama araması söz konusu değil.
Takımdaki her dizinin c dizisiyle eşleşen toplam sayısına sahip bir çift dizi dizisi mi istiyorsunuz? Ayrıca, ilk örnekte, [(1,5), (1,6), (2,6)] - ve daha fazlası gibi - dahil olacak mı? –
Değiştirme yok. Çözmeyi denediğim problem, her bir listenin öğrencilerin puanlarını içermesidir.Her bir listeye ve her ikisinin toplamına erişebiliyorum, ancak toplam puan verildikten sonra, mümkün olan alt puanların ne olduğunu bilmek istiyorum. Sorunu çözmesi daha kolay hale getiriyorsa (veya benzersiz bir çözümün şansını arttırıyorsa), bu listelerin N'sine erişebilirim ve herhangi bir alt kümesi için toplamlar listesi için bir veritabanını sorgulayabilirim. – georgeyiu
Bu sorun Vikipedi'de [Sayısal 3 boyutlu eşleştirme] (http://en.wikipedia.org/wiki/Numerical_3-dimensional_matching) olarak tanımlanmıştır. NP-tamamlandı. –