Bariyer merkezli koordinatlar kullanılarak etiketlenmiş düğümlerle standart eşkenar üçgeni düşünün :
Bu 3 düğüm üçgenini, 3 köşeden oluşan yeni bir çizgi (orijinal 3 düğüm üçgeninin bir tarafında mevcut olandan bir tane daha) ekleyerek 6 düğüm üçgenine dönüştürebilir, tüm iç kenarları kaldırabiliriz ( iç düğümleri değil ) ve koordinatları normalleştirin:
6 düğümlü bir üçgenden 10 düğümlü bir üçgene gitmek için işlemi tekrarlayın, 4 köşeli bir çizgi ekleyin (yine orijinal 6 düğüm üçgeninin bir tarafında mevcut olandan bir tane daha), iç kenarları kaldırın (ancak iç düğümleri değil) ) ve koordinatları yeniden normalleştirin:
Bu süreç süresiz olarak tekrarlanabilir. Bu zorluğun amacına, bu N
işlemin kaç kez gerçekleştirildiğini temsil eden bir tamsayı verilir , barycentric koordinatlarda ilişkili üçgen için tüm düğümleri çıkarır.
Giriş
Programınız / işleviniz, N
bu işlemin kaç kez uygulandığını gösteren tek bir negatif olmayan tam sayı girdi olarak almalıdır . İçin N=0
, orijinal üçgeni 3 düğümle çıkarmanız gerektiğini unutmayın .
Giriş herhangi bir kaynaktan gelebilir (fonksiyon parametresi, stdio, vb.).
Çıktı
Programınız / işleviniz, normalleştirilmiş barycentric koordinatlardaki tüm düğümleri çıktılamalıdır. Düğümlerin sırası önemli değil. Bir sayı kesir (kesir azaltma gerekli değildir) veya kayan nokta sayısı olarak belirtilebilir. Bir düğüm belirtmek için "ölçeklendirilmiş" vektörler de çıkarabilirsiniz. Örneğin, aşağıdaki çıkışların 3'ünün tamamı eşdeğerdir ve bunlara izin verilir:
0.5,0.5,0
1/2,2/4,0
[1,1,0]/2
Kayan nokta çıkışı kullanılıyorsa, çıktınız% 1 içinde doğru olmalıdır. Çıkış istenen herhangi bir lavaboya olabilir (stdio, dönüş değeri, dönüş parametresi, vb.). Bariyer merkezli koordinatlar, her düğüm için sadece 2 sayı ile benzersiz bir şekilde belirlenmiş olsa da, her düğüm için 3 sayının tümünü çıkarmanız gerektiğini unutmayın.
Örnekler
Örnek durumlar şu şekilde biçimlendirilir:
N
x0,y0,z0
x1,y1,z1
x2,y2,z2
...
burada ilk satır giriş olur N
ve sonraki tüm satırlar x,y,z
çıkışta tam olarak bir kez olması gereken bir düğüm oluşturur. Tüm sayılar yaklaşık kayan nokta sayısı olarak verilmiştir.
0
1,0,0
0,1,0
0,0,1
1
1,0,0
0,1,0
0,0,1
0.5,0,0.5
0.5,0.5,0
0,0.5,0.5
2
1,0,0
0,1,0
0,0,1
0.667,0,0.333
0.667,0.333,0
0.333,0,0.667
0.333,0.333,0.333
0.333,0.667,0
0,0.333,0.667
0,0.667,0.333
3
1,0,0
0.75,0,0.25
0.75,0.25,0
0.5,0,0.5
0.5,0.25,0.25
0.5,0.5,0
0.25,0,0.75
0.25,0.25,0.5
0.25,0.5,0.25
0.25,0.75,0
0,0,1
0,0.25,0.75
0,0.5,0.5
0,0.75,0.25
0,1,0
puanlama
Bu kod golf; bayt cinsinden en kısa kod kazanır. Standart boşluklar geçerlidir. İstediğiniz yerleşikleri kullanabilirsiniz.
[1,2,3]/6
?