Bu bir polis ve soyguncu mücadelesi. Polislerin bu mücadeleye verdiği konu burada
Düşünülmesi gereken ilginç bir soru şudur:
Bir sayı dizim varsa, hangi diziden bahsettiğimi netleştirmeden önce kaç tane vermem gerekiyor?
Başlayarak sırayla Mesela ben pozitif tamsayılar hakkında konuşmak istiyorsanız , ben söyleyebiliriz , ama bu gerçekten yeterli mi?
Ben bu soruyu cevaplamak için bir yolu var, ve bir kod golfçü olmak Bu kod golf içerir. Bu terimleri üreten en kısa kod dizinin tüm terimlerini üretiyorsa, bir dizi için yeterli terim sağladınız. Bunu kod golfü açısından düşünürsek, bu, test senaryolarını geçen en kısa kod istenen görevi yerine getirecek kadar test vakası sağladığınız anlamına gelir.
Meydan okuma
Bu meydan okuma bir polis ve soyguncu mücadelesidir. Polislerin test senaryoları sunacağı ve soyguncular, test senaryolarını amaçlanan sekans dışında taklit etmek için daha kısa bir yol bulmak zorunda kalacaklar. Polisler şu şeyleri sunacak:
Girdi olarak pozitif bir tamsayı alan ve çıktı olarak bir tamsayı üreten bir kod parçası. Bu kod sıfır veya bir dizinlenmiş olabilir ancak dizinlemenin ne olduğu açık olmalıdır. Bu kod dizinizi tanımlar.
Çıktıyı etkileyebilecek ilgili platform veya dil gereksinimleri, örneğin longint boyutu.
Kod tarafından hesaplandığı gibi dizinin ilk n terimleriyle birlikte bir sayısı . Bunlar "test senaryoları" olarak işlev görecektir.
Soyguncular, sunulandan daha kısa olan ve tüm test senaryolarını geçen bir dilde bir program bulacaktır ( polisin koduyla ilk girişler için aynı çıktıyı üretir ). Soyguncunun kodu da n'den büyük bir sayı için polisin programından çıktı olarak farklı olmalıdır .
puanlama
Soyguncular buldukları çatlak sayısında daha fazla çatlak daha iyi olur. Bir cevap, orijinal çatlaktan daha kısa geçerli bir cevap bulunarak tekrar kırılabilir. Bir cevap ikinci kez kırılırsa, ilkinden ziyade ikinci krakere nokta verilir.