Mục tiêu của Thử thách Rosetta Stone là viết các giải pháp bằng càng nhiều ngôn ngữ càng tốt. Thể hiện đa ngôn ngữ lập trình của bạn!
Các thách thức
Thách thức của bạn là triển khai một chương trình sẽ ánh xạ một số gen bằng cách sử dụng tần số chéo, bằng càng nhiều ngôn ngữ lập trình càng tốt . Bạn được phép sử dụng bất kỳ loại chức năng thư viện tiêu chuẩn nào mà ngôn ngữ của bạn có, vì đây chủ yếu là một ngôn ngữ giới thiệu.
"Lập bản đồ gen là gì?"
Ánh xạ gen là quá trình xác định vị trí tương đối của các gen trên nhiễm sắc thể. Điều này được thực hiện bằng cách đo tần số giao thoa của các cặp gen, bằng tỷ lệ phần trăm của con cái mà cặp này không được di truyền cùng nhau. Khoảng cách được đo bằng đơn vị bản đồ với một đơn vị bản đồ bằng một phần trăm vượt qua. Ví dụ: nếu gen C & D có tần số giao thoa là 11%, thì gen C là khoảng cách 11 đơn vị bản đồ so với gen D.
Ánh xạ gen được thực hiện với nhiều cặp gen để xác định thứ tự tương đối của chúng. Ví dụ: dữ liệu (A,B,12) (D,B,7) (A,D,5) (D,H,2) (H,B,9)
tạo ra bản đồ sau:
A..H.D......B
Bạn có thể nhận thấy rằng đó B......D.H..A
cũng là một bản đồ hợp lệ. Điều này là đúng, bởi vì không thể phân biệt giữa các gương đối lập. Chương trình của bạn có thể chọn cái nào để đầu ra. Mặc dù đầu vào có thể không bao gồm mọi cặp có thể, nhưng sẽ luôn có đủ thông tin để xây dựng lại toàn bộ bản đồ (vì vậy sẽ không bao giờ có nhiều hơn 2 đầu ra hợp lệ). Ngoài ra, các con số sẽ luôn hoạt động (không giống như sinh học thực tế), có nghĩa là bạn sẽ không có những thứ như thế (A,B,3) (B,C,4) (A,C,13)
.
Đầu vào
Đầu vào sẽ bắt đầu bằng một số n
theo sau là danh sách các gen (chữ in hoa). Sau đó sẽ có n
bộ ba dữ liệu. Mỗi bộ sẽ bao gồm một cặp gen và sự vượt qua tần số (khoảng cách) của chúng.
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
Đầu vào không được xác định một cách cứng nhắc, bởi vì các ngôn ngữ khác nhau có thể có những hạn chế về những gì khả thi. Ví dụ: bạn có thể thay đổi dấu phân cách thành thứ gì đó ngoài dấu phẩy và dòng mới. Định dạng đầu vào phần lớn là tùy thuộc vào bạn.
Đầu ra
Đầu ra sẽ là một biểu hiện của bản đồ gen. Nó sẽ bao gồm các gen (chữ in hoa) được đặt cách nhau bởi các khoảng thời gian sao cho khoảng cách được mô tả chính xác. Dưới đây là kết quả đầu ra cho các ví dụ trên.
P..HI *or* IH..P
BG..Q.....A...U *or* U...A.....Q..GB
Đây cũng không phải là một yêu cầu hoàn toàn cứng nhắc. Ví dụ: bạn có thể sử dụng một cái gì đó ngoài các dấu chấm, như dấu phẩy hoặc dấu cách.
Tiêu chí chiến thắng khách quan
Đối với một tiêu chí chiến thắng khách quan, đây là: Mỗi ngôn ngữ là một cuộc thi riêng biệt để ai có thể viết bài dự thi ngắn nhất, nhưng người chiến thắng chung cuộc sẽ là người chiến thắng hầu hết các cuộc thi phụ này. Điều này có nghĩa là một người trả lời bằng nhiều ngôn ngữ không phổ biến có thể đạt được lợi thế. Code-golf chủ yếu là một công cụ hòa nhập khi có nhiều hơn một giải pháp trong một ngôn ngữ: người có chương trình ngắn nhất được tín dụng cho ngôn ngữ đó.
Quy tắc, hạn chế và ghi chú
Chương trình của bạn có thể được viết bằng bất kỳ ngôn ngữ nào tồn tại trước ngày 20 tháng 12 năm 2013. Tôi cũng sẽ phải dựa vào cộng đồng để xác thực một số câu trả lời được viết bằng một số ngôn ngữ không phổ biến / bí truyền hơn, vì tôi không thể kiểm tra họ
Bảng xếp hạng hiện tại
Phần này sẽ được cập nhật định kỳ để hiển thị số lượng ngôn ngữ và những người đang dẫn đầu trong mỗi ngôn ngữ.
- AutoHotkey (632) - Avi
- dj (579) - rubik
Xếp hạng người dùng hiện tại
- Avi (1): AutoHotkey (632)
- rubik (1): dj (579)
n
, nhưng chủ yếu là giới hạn cho việc vượt qua tần số (khoảng cách). Chúng ta có thể cho rằng nó sẽ luôn luôn, nói, ít hơn 1000
?