Rosetta Stone Challenge'ın hedefi mümkün olduğunca çok dilde çözüm yazmaktır. Programlama çokdilliliğinizi gösterin!
Meydan okuma
Zorluğunuz, çapraz genleri kullanarak bazı genleri mümkün olduğunca çok programlama dilinde eşleyecek bir program uygulamaktır . Çoğunlukla bir dil vitrini olduğundan, dilinizin sahip olduğu her türlü standart kitaplık işlevini kullanmanıza izin verilir.
"Gen haritalaması" nedir?
Gen haritalama, genlerin kromozomlar üzerindeki nispi pozisyonunun tespit edilmesi işlemidir. Bu, çiftin miras alınmadığı yavruların yüzdesine eşit olan gen çiftlerinin geçiş sıklığı ölçülerek yapılır . Mesafe, bir harita birimi kesişme yüzdesine eşit olan harita birimlerinde ölçülür . Örneğin, C ve D genleri% 11'lik bir geçiş frekansına sahipse, C geni, D geninden 11 harita birimi uzaklığıdır.
Gen haritalaması, nispi sıralarını belirlemek için birden fazla gen çifti ile gerçekleştirilir. Örneğin, veriler (A,B,12) (D,B,7) (A,D,5) (D,H,2) (H,B,9)
aşağıdaki haritayı oluşturur:
A..H.D......B
Bunun B......D.H..A
geçerli bir harita olduğunu fark etmiş olabilirsiniz . Bu doğrudur, çünkü ayna karşıtlarını ayırt etmek mümkün değildir. Programınız hangisinin çıktı alınacağını seçebilir. Giriş mümkün olan her çifti içermese de, haritanın tamamını yeniden yapılandırmak için her zaman yeterli bilgi olacaktır (bu nedenle asla 2'den fazla geçerli çıkış olmayacaktır). Buna ek olarak, sayılar her zaman işe yarayacaktır (gerçek biyolojiden farklı olarak), yani benzer şeyleriniz olmayacaktır (A,B,3) (B,C,4) (A,C,13)
.
Giriş
Giriş bir sayı ve n
ardından bir gen listesi (büyük harfler) ile başlar. Bu durumda n
üçüz üçlüsü olacaktır . Her küme bir çift genden ve bunların frekans (mesafe) üzerinden geçmesinden oluşacaktır.
3,P,H,I
P,H,3
H,I,1
P,I,4
7,A,B,G,Q,U
B,Q,4
A,B,10
G,U,13
Q,U,10
A,G,9
G,Q,3
A,Q,6
Girdi katı bir şekilde tanımlanmamıştır, çünkü farklı diller mümkün olan şeyler üzerinde kısıtlamalara sahip olabilir. Örneğin, sınırlayıcıları virgül ve satırsonu dışında bir şeyle değiştirebilirsiniz. Girdi biçimlendirmesi büyük ölçüde size bağlıdır.
Çıktı
Çıktı, gen haritasının bir sunumu olacaktır. Mesafelerin doğru bir şekilde tasvir edilmesi için noktalarla aralıklı genlerden (büyük harfler) oluşacaktır. Yukarıdaki örneklerin çıktıları aşağıda verilmiştir.
P..HI *or* IH..P
BG..Q.....A...U *or* U...A.....Q..GB
Bu da tamamen katı bir gereklilik değildir. Örneğin, virgül veya boşluk gibi noktalardan başka bir şey kullanabilirsiniz.
Amaç Kazanma Kriteri
Nesnel bir kazanma ölçütüne gelince, işte: Her dil, en kısa girişi kimin yazabileceği konusunda ayrı bir yarışmadır, ancak genel kazanan, bu alt yarışmaların çoğunu kazanan kişi olacaktır. Bu, nadir olmayan birçok dilde cevap veren bir kişinin avantaj sağlayabileceği anlamına gelir. Code-golf çoğunlukla bir dilde birden fazla çözüm olduğunda bir çığır açıcıdır: en kısa programa sahip olan kişi bu dil için kredi alır.
Kurallar, Kısıtlamalar ve Notlar
Programınız 20 Aralık 2013'ten önce mevcut olan herhangi bir dilde yazılabilir. Ayrıca, daha nadir / ezoterik dillerin bazılarında yazılan bazı yanıtları doğrulamak için topluluğa güvenmek zorunda kalacağım, çünkü test edemiyorum onlar.
Mevcut Büyük Şerit
Bu bölüm, dillerin sayısını ve her birinin önde gelenlerini göstermek için periyodik olarak güncellenecektir.
- Otomatik Kısayol Tuşu (632) - Avi
- dj (579) - rubik
Mevcut Kullanıcı Sıralaması
- Avi (1): AutoHotkey (632)
- rubik (1): dj (579)
n
, öncelikle frekans (mesafe) üzerinden geçiş için sınırlar. Her zaman, örneğin, daha az olacağını varsayabilir miyiz 1000
?