Rosetta Stone挑战:基因定位
Rosetta Stone挑战赛的目标是用尽可能多的语言编写解决方案。炫耀您的编程多语言! 挑战 您面临的挑战是实现一种程序,该程序将以尽可能多的编程语言使用交叉频率绘制一些基因。您可以使用您的语言具有的任何标准库函数,因为这主要是语言展示。 什么是“基因映射”? 基因定位是定位基因在染色体上相对位置的过程。这是通过测量基因对的交叉频率来完成的,该频率等于该基因对不一起遗传的后代的百分比。距离以地图单位测量,其中一个地图单位等于交叉的百分之一。例如,如果基因C和D的交叉频率为11%,则基因C与基因D的距离为11个图谱单元。 用多对基因进行基因定位,以确定它们的相对顺序。例如,数据(A,B,12) (D,B,7) (A,D,5) (D,H,2) (H,B,9)产生以下地图: A..H.D......B 您可能已经注意到这B......D.H..A也是有效的地图。这是正确的,因为不可能在反光镜之间进行区分。您的程序可以选择输出哪一个。尽管输入可能不会包括所有可能的对,但总会有足够的信息来重建整个地图(因此,有效输出永远不会超过2个)。此外,数字总是可以计算出来的(与实际生物学不同),这意味着您不会拥有(A,B,3) (B,C,4) (A,C,13)。 输入值 输入将以数字开头,n然后是基因列表(大写字母)。然后将出现n三重数据。每个集合将由一对基因及其交叉频率(距离)组成。 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 输入不是严格定义的,因为不同的语言可能会限制可行的内容。例如,您可以将定界符更改为逗号和换行符以外的其他内容。输入格式很大程度上取决于您。 输出量 输出将是基因图谱的再现。它将由以句点隔开的基因(大写字母)组成,以便准确描绘距离。这是上述示例的输出。 P..HI *or* IH..P BG..Q.....A...U *or* U...A.....Q..GB 这也不是完全严格的要求。例如,您可以使用句点以外的其他东西,例如逗号或空格。 客观取胜标准 关于客观的获胜标准,这是:关于谁可以写得最短的条目,每种语言都是一个单独的竞赛,但是总的获胜者将是赢得这些子竞赛中最多的人。这意味着以多种不同寻常的语言回答的人可以获得优势。当一种语言中有多个解决方案时,代码高尔夫通常是决胜局:程序最短的人会为该语言赢得赞誉。 规则,限制和注释 您的程序可以用2013年12月20日之前存在的任何语言编写。由于我不太可能进行测试,因此我还必须依靠社区来验证一些使用一些较不常见/深奥的语言编写的回复。他们。 现任排行榜 本节将定期更新以显示语言的数量以及每种语言的领先者。 自动热键(632)-Avi dj(579)-魔方 当前用户排名 AVI(1):AutoHotkey(632) 魔方(1):dj(579)