首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >金梅斯之战

金梅斯之战
EN

Code Golf用户
提问于 2019-07-19 14:09:18
回答 2查看 584关注 0票数 10

/o\ 一直 接收 一个 地段最近在这个网站上引起了吉米的一点压力。健美运动员金米斯( Jimmys /-o-\ )开始对OG /杂技演员/o\进行恶搞,说他们更酷,因为他们更大。但当然,杂技演员金梅斯认为他们很酷,因为毕竟他们是原创的。

这种紧张关系在某种程度上导致了吉米战争,杂技演员吉梅斯和健美运动员吉梅斯已不再安宁。

目标

考虑到一连串的杂技演员和健美运动员吉梅斯,决意将赢得这场战斗。

  • 输入字符串将只包含健美生成器Jimmys /-o-\、acrobat Jimmys /o\和空格。
  • 健美运动员吉梅斯比杂技演员吉梅斯更强壮,所以一个健美健美者吉米可以拿下两个杂技,但他会在第二届Jimmy /o\ /-o-\ -> /-o-\ /o\ /o\ /-o-\ ->之后被击倒。
  • 杂技演员吉梅斯很狡猾,擅长围绕健美运动员吉梅斯,如果有两个杂技演员围绕着一个健美健美者吉米,健美健美者吉米将被击败,不会对杂技演员/o\ /-o-\ /o\ -> /o\ /o\造成伤害。
  • 杂技演员吉梅斯也比健美运动员吉梅斯快,所以他们的动作将发生在健美运动员吉梅斯/o\ /-o-\ /o\ /-o-\ -> /o\ /o\ /-o-\ ->之前。

Notes

  • 希梅斯之间的空白将不会影响战斗,但它可以预期的投入。
  • 输出中的空白是可以接受的,只要不把金梅斯切成两半,就会被忽略。
  • 空格将仅为空格,您可以假设没有制表符或换行符。
  • 输入中的所有金米都是完整的,不会有部分的/o
  • 战斗将持续到只剩下一种类型的吉米(或者根本就没有金米)。
  • 输入和输出都应该以字符串的形式出现。
  • Jimmy的动作将发生在->的右边,但是杂技演员Jimmys优先考虑健美运动员Jimmy。
  • 健美运动员吉梅斯只有在相同的拐弯处发生时,才会下降到两个吉梅斯(见最后一个例子)。

更多示例

代码语言:javascript
复制
/o\ /o\ /-o-\ /-o-\ /o\ /o\     // Input string

/-o-\ /o\ /o\                   // Leftmost bodybuilder took out left two acrobats

                                // Output will be whitespace

-----------------------------------

/o\ /o\ /-o-\ /o\ /-o-\ /o\ /o\  // Input string

/o\ /o\ /o\ /-o-\ /o\ /o\        // acrobat Jimmys got a surround

/o\ /o\ /o\ /o\ /o\              // acrobat Jimmys win

-----------------------------------

/o\ /o\ /-o-\ /o\ /-o-\ /-o-\ /o\ /o\   // Input string

/o\ /o\ /o\ /-o-\ /-o-\ /o\ /o\

/o\ /-o-\ /o\ /o\

/o\ /o\ /o\                             // acrobats win again

-----------------------------------

/o\ /o\ /-o-\ /o\ /-o-\ /-o-\ /o\ /-o-\  // Input string

/o\ /o\ /o\ /-o-\ /-o-\ /o\ /-o-\

/o\ /-o-\ /o\ /-o-\

/o\ /o\ /-o-\

                                        // Output is empty

-----------------------------------

/-o-\ /o\ /o\ /o\ /-o-\ /-o-\           // Input string

/o\ /-o-\ /-o-\

/-o-\ /-o-\                             // Bodybuilder Jimmys win

-----------------------------------

/o\ /-o-\ /-o-\ /o\ /o\ /o\            // Input string

/-o-\ /-o-\ /o\ /o\ /o\                // left most bb jimmy took out leftmost acrobat jimmy

/-o-\ /o\                              // right bb Jimmy took out left two acrobat Jimmys and himself

/-o-\                                  // leftmost jimmy took out a second jimmy but survives because it occurred on a different turn the the first jimmy he took out - bodybuilder Jimmys win

适用标准规则,这是代码-高尔夫让最短的答案获胜!

EN

回答 2

Code Golf用户

发布于 2019-07-20 11:12:15

果冻,68字节

代码语言:javascript
复制
⁵R+⁴W;“|ẹẹrḟ“€Ƙ.q“¦ḍhƁ’b⁴¤ḃ2s2Z€ị“/o\“/-o-\”ḣẎẎF€⁸œṣjƭƒ@ƬṪ
ḟ⁶;ç1ɗ/ç2

在网上试试!

一个完整的程序,它以字符串作为输入,并以字符串的形式输出Jimmys的最终状态。适用于所有测试用例。它在每个阶段每次输入一个字符,用适当的输出替换4个Jimmy集,直到没有改变为止。最后,它还查找需要解决的3和2个Jimmy集。果冻没有regex,所以所有可能需要更换的吉米集都被建造了。

票数 2
EN

Code Golf用户

发布于 2019-07-20 14:33:39

C# (可视化C#交互式编译器),249个字节

代码语言:javascript
复制
n=>{n=n.Replace(" ","");for(var s=@"o\/-o-\/o";n.Contains("/o")&n.Contains("-");n=new System.Text.RegularExpressions.Regex(@"/o.{4,7}-\\|/-.{4,7}o\\").Replace(n,m=>m.Value.Length>8?"":"/-o-\\",1))for(;n.Contains(s);)n=n.Replace(s,@"o\/o");return n;}

在网上试试!

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/188550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档