Bir resimdeki üçgen miktarını saymak beyin testlerinde yaygın olarak kullanılan bir görevdir. Size üçgenlerden oluşan şekiller içeren bir resim verilir. Ardından resimdeki tüm üçgenleri bulmalısınız.
Görev
Seçtiğiniz biçimde bir satır listesi verilir. Daha sonra, içinde bulunan üçgenlerin bir listesini çıkarmalısınız.
Giriş
Size her biri dört tamsayı koordinatı (örn. x1 y1 x2 y2
) İle verilen bir satır listesi verilir . Açıkça belgelendiği sürece giriş biçimini seçebilirsiniz. Örnekler:
0 4 8 1
0 4 9 5
8 1 9 5
2 8 0 4
9 5 2 8
[[0, 4, 8, 1], [0, 4, 9, 5], [8, 1, 9, 5], [2, 8, 0, 4], [9, 5, 2, 8]]
İşte görüntü ile aynı girdi:
Bir diğeri, kavşaklarla (yerden tasarruf etmek için sadece bir biçimde):
[[2, 1, 5, 0], [2, 1, 2, 7], [5, 0, 6, 6], [5, 0, 2, 7], [6, 6, 2, 1], [2, 7, 6, 6]]
Çıktı
Her biri x1 y1 x2 y2 x3 y3
giriş tarafından belirtilen resimde altı kayan nokta koordinatı (örn. ) İle verilen tüm üçgenlerin bir listesini çıkarmalısınız. Çizgiler herhangi bir noktada kesilebileceği için bunlar tamsayı olmayabilir. Açıkça belgelendiği sürece çıktı biçimini seçebilirsiniz. Yukarıdaki örnek girişler için örnek çıktılar:
0 4 8 1 9 5
0 4 9 5 2 8
[[0, 4, 8, 3, 9, 5], [0, 4, 9, 5, 2, 8]]
[[2, 1, 5, 0, 2, 7], [2, 1, 5, 0, 6, 6], [5, 0, 6, 6, 2, 7], [2, 1, 6, 6, 2, 7], [2, 1, 5, 0, 3.674, 3.093], [5, 0, 6, 6, 3.674, 3.093], [6, 6, 2, 7, 3.674, 3.093], [2, 7, 2, 1, 3.674, 3.093]]
Bunu varsayabilirsin
bir çizginin kesişme noktasını geçtiği kenar durumlar yoktur, ancak
[[0, 9, 1, 8], [1, 8, 2, 9], [2, 9, 3, 8], [3, 8, 4, 9], [4, 9, 0, 9]]
179 derecenin üzerinde açı yok, mesela
[[0, 0, 0, 1], [0, 1, 0, 2], [0, 2, 0, 0]]
kurallar
- İstediğiniz dili kullanabilirsiniz.
- Hiçbir harici kaynak kullanılmamalıdır.
- Standart boşluklar geçerlidir.
puanlama
Bu kod golf kadar kısa cevap, bayt kazanır.
[0,0],[1,0],[2,0],[1,2]
180 derecelik bir açı ile bir "dörtgen". Üçgen veya 1 üçgen yok mu?
[0,9],[1,8],[2,9],[3,8],[4,9]
aslında üstte bir çizgi bulunan bir W'dir. Üçgen mi yoksa 2 üçgen mi?