Questions tagged «tic-tac-toe»

将此标签用于涉及tic-tac-toe游戏的挑战(https://en.wikipedia.org/wiki/Tic-tac-toe)。

15
此井字棋牌有效吗?
挑战 给定任何格式的井字游戏板,请确定其是否有效。如果棋盘可以是井字游戏的结果,那么它是有效的。例如,此板有效:XOX 氧代 XOX相反,此板无效: XXX XXO OOO 输入项 完整的(9/9)井字游戏板(结果,而不是游戏)。 规则 输入格式必须能够描述所有512种可能的输入板。如果不清楚/不清楚,则必须指定它以及创建说明。但是,您必须单独声明木板的标记。 必须有两个可能的输出,一个用于有效性,一个用于无效。 您可以假定板上没有空点。 测试用例 有效: XOX 氧代 XOX XOX XOX 氧代 XOO OX OXX 氧代 XOX 氧代 无效: XXX XXX XXX OOO OOO OOO XXX OOO XXX OOO OX XXX XXO 氧代 OX 一点帮助? 仅在以下两个条件成立的情况下,董事会才被认为是有效的(对此挑战): 有5 X和4 O,或4 X和5O。例如, XXX …

30
StringgnirtSStringgnirtSStringgnirtS
这对您来说是一个相对简单的挑战。 给定长度为N的字符串,向前输出该字符串,然后向后输出,然后向前,然后向后输出……等等。N次。例如,如果您输入的是 Hello! 您应该输出: Hello!!olleHHello!!olleHHello!!olleH 您也可以选择输出一个尾随换行符。 您的提交可以是完整程序,也可以是函数,并且您可以采用任何合理的格式进行输入和输出。例如,您可以从STDIN / STDOUT中获取IO,从函数中获取参数,并从文件中获取返回值,等等。您可以放心地假设输入字符串将不会为空,并且仅包含可打印的ASCII。您必须在一行上输出新字符串。因此,例如,如果最后一个示例的输出是 Hello! !olleH Hello! !olleH Hello! !olleH 这不是有效的解决方案! 这里是更多测试用例: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: PPCGGCPPPPCGGCPP Input: 42 Output: 4224 排行榜 由于这是一个代码高尔夫挑战,因此禁止了标准漏洞,以字节为单位的最短答案胜出!但是,这也是在任何特定语言中答案最短的竞赛。尽管Java答案不太可能会击败perl或某些打高尔夫球语言的答案,但拥有最短的Java答案仍然令人印象深刻。因此,您可以使用此页首横幅查看 所有语言中最短的答案,以及 每种语言的最短答案。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

4
让我们玩Meta井字游戏吧!
让我们玩Meta井字游戏! 这是Meta tic-tac-toe 的山峰赛。井字游戏的规则如下: 井字游戏的所有常规规则均适用。 安排了九个板以组成一个主板。像这样: 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- || ----- 6|7|8 || 6|7|8 || 6|7|8 ======================== 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- …

6
井字游戏,只有十字架
介绍 每个人都知道游戏井字游戏,但是在这个挑战中,我们将介绍一些小技巧。我们将只使用十字架。第一个连续放置三个十字架的人输了。一个有趣的事实是,有人输掉前的最大十字架数等于6: X X - X - X - X X 这意味着对于3 x 3的面板,最大数量为6。因此对于N = 3,我们需要输出6。 另一个示例,对于N = 4或4 x 4板: X X - X X X - X - - - - X X - X 这是一个最佳解决方案,您可以看到最大的十字架数量等于9。12 x 12板的最佳解决方案是: X - X - X - X X - X …

2
井字游戏的最佳游戏
这个挑战是关于井字游戏,但它是在圆环上玩的。 怎么玩 要创建必要的游戏板,请首先使用常规的Tic Tac Toe游戏板。首先,通过连接左右边缘将其折叠成圆柱体。然后通过连接顶部和底部边缘将其折叠成环形。这是这种游戏板的简单可视化效果,其中包含一些操作(病漆技能!)。 井字游戏的规则与普通井字游戏的规则相同。每个玩家交替放置X和O。行,列或对角线中有3个相同符号的第一个获胜。 由于圆环很难观察到,因此我们只需将板子投影回纸上即可。现在我们可以像普通的井字游戏一样玩游戏了。唯一的区别是,您还可以用对角线中的3个相同的符号赢钱。例如,玩家1(X)赢得下一局。通过稍微改变圆环上的视图,您可以轻松看到这一点。 如果您有兴趣,可以在Torus Games的Torus上玩Tic Tac Toe 。有Windows,Mac和Android版本。 最佳游戏 在这个挑战中,人们对最佳游戏感兴趣。最佳游戏是指两个玩家都扮演最佳策略的游戏。在常规的Tic Tac Toe棋盘上,最佳游戏总是以平局结束。令人着迷的是,在环形板上总是第一个玩家获胜。实际上,在圆环板上的游戏永远不会以平局告终(即使玩家玩的不是最佳状态)。 最佳策略非常容易: 如果您可以通过放置符号赢钱,那就去做。 否则,如果对手在一行/列/对角线中有两个符号,请尝试将其阻止。否则,请执行您想要的操作。 否则,请执行您想要的操作。 每个最佳游戏都恰好由7个动作组成,这些动作可以用以下方式描述: 玩家1将X放置在棋盘上的任意位置(9个选择) 玩家2在棋盘上的任意位置放置一个O(8个选择) 玩家1将X放置在棋盘上的任意位置(7个选择) 玩家2的举动可能会被强制(1个选择),否则,他会将O放置在任何位置(6个选择) 玩家1的举动被迫(1选择) 玩家2陷入困境(玩家1可以通过两种不同方式获胜),因此玩家2必须以一种方式阻止玩家1(2个选择) 玩家1做出最后的举动并获胜(1个选择) 我们的投影板上有9 * 8 * 1 * 6 * 1 * 2 * 1 + 9 * 8 * 6 * 1 * …

12
确定井字游戏获胜者(基于回合)
让我们玩一些代码高尔夫球! 挑战在于找到井字游戏的赢家。 这是通过给董事会指定一个明确的获胜者来完成的,但有很多不同之处: 单元格编号如下: 1|2|3 -+-+- 4|5|6 -+-+- 7|8|9 您将获得一个由9个动作组成的数组,如下所示: {3, 5, 6, 7, 9, 8, 1, 2, 3} 解析如下: 玩家1标记单元格3 玩家2标记单元格5 玩家1标记单元格6 玩家2标记单元格7 玩家1标记单元格9 玩家1赢了 注意:一个玩家获胜后,游戏不会停止,有可能失败的玩家在获胜的玩家之后设法连续获得3个,但只有第一个获胜者才算。 您现在的工作是获取9个数字作为输入,并输出获胜玩家和获胜回合。如果没有人获胜,请输出您选择的常量。您可以通过任何标准均值/格式接收输入并提供输出。 玩得开心! 根据要求提供更多示例: {2,3,4,5,6,7,1,8,9} => Player 2 wins in round 6 {1,2,4,5,6,7,3,8,9} => Player 2 wins in round 8 {1,2,3,5,4,7,6,8,9} => Player 2 …

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始1 to 3,但是该范围每40移动一次就增加1(因此,在40移动之后,范围变为2 to 4)。 如果板上的原子小于该范围,则有1 / no. of atoms of that number on the board可能产生。 假设您有一个2要玩的地方,董事会看起来像这样: 1 1 2 1 让我们将放在的2右侧1。 董事会现在变成: 1 1 2 1 2 注意:木板环绕,所以1最左侧的实际上2是最右侧的旁边。稍后将很重要。 有“特殊”原子的4种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

2
你下一步要做什么?
面临的挑战是用您选择的语言编写一个minimax函数,在给定当前棋盘状态的情况下,在井字游戏的NxN游戏中输出下一个最佳动作。板输入可以接受为矩阵,2D集合或对您有意义但符合规则的任何其他内容。输出是下一个最好的举动了谁轮到它是目前,其中X被认为已经开始。 Minimax算法的快速背景 minimax算法的基本思想是将所有可能的结果作为DAG枚举,然后通过一系列动作对玩家的好处(通过第一个动作为关键)对它们进行加权。然后,所有可能的结果都会在第一步中“丢包”,并根据所有结果的总和进行评分(-1为损失,0为平局,1为胜利)。在需要多个玩家参与的实现中,您需要枚举玩家的所有可能举动以及对手的所有可能的响应。例如,在井字游戏中(第一个举动之后),您可以进行8个可能的第一个举动,而在仅分析下一弯时,它们似乎都相等。但是,通过对每组可能产生最终结果的动作进行遍历所有可能的结果并将它们加总, 有关tic-tac-toe的mini-max算法的更好,更深入和上下文的摘要,请在此处阅读更多信息:http : //neverstopbuilding.com/minimax XKCD(仅3x3解决方案) 规则 可以使用任何语言,但不允许使用外部minimax库。 输出可以是表示最佳下一移动的坐标(0-n,0-n)或数字(1-n * n)。 除此之外,您必须能够确定最佳情况是什么时候是失败或平局而不是获胜。 您表示损失或平局的方式再次取决于您。 输入必须使用传统的X和O,并且您必须假设X首先移动;空格可以用任何东西表示。 您可以假设进入程序的任何输入都具有n个O和n + 1个X,换句话说,您可以假设您得到的是格式良好的板。 开发板的当前状态必须是程序的唯一输入,如果使用递归,则必须使用辅助方法来满足输入要求。有关说明,请参见/codegolf//a/92851/59376。 必须支持10> = n> = 1的任何值。如果您的程序在n> 10时“超时”,我也认为这是可以接受的,因为某些语言的处理能力明显降低(尤其是使用面向Web的控制台)。 评判 这是代码高尔夫球,因此程序的最低字节数获胜,并且普遍禁止标准漏洞。 如果是平局,则支持最大n的程序将获胜。 输入示例 2x2 [[X,O] [-,-]] 输出: 2或[0,1](也可以说是3或[1,1]正确)(以某种形式表示位置,只要可以方便地解释所使用的格式即可) 3x3 [[X,O,X] [O,X,-] [-,-,-]] 输出: -1(损失) 再次允许使用您想要的任何输入格式,但必须使用X和O,所提供的示例并非旨在限制该格式,仅是为了启发。

1
在井字游戏中迷路
编写一个将播放Misère井字游戏的程序。也就是说,目标是迫使对手连续三局。 在标准输入上接受“ X”或“ O”(字母,不是零),以确定程序将以哪一侧播放。然后在回合中输出个位数,直到对手结束,直到对手结束(X总是先行)。确定赢家后,输出X或O代表谁,或D代表平局。例如,如果O连续获得3,则X获胜。 假设木板编号如下: 0|1|2 ----- 3|4|5 ----- 6|7|8 理想情况下,解决方案将是最佳的,并且永远不会失败。像井字游戏一样,完美的比赛总是会导致平局。如果遵守上述协议,我可以针对各种可能的策略自动测试提交内容。 优胜者是最短的代码。如果它从同样好的动作中随机选择,则会获得加分,使它变得更加不可预测。

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

7
井字游戏词典
一个TicTacToe游戏可以用一个字符串来表示,该字符串表示玩家移动时的位置顺序。 0 1 2 3 4 5 6 7 8 假设X总是先播放。 因此,字符串“ 012345678”表示游戏 XOX 氧代 XOX 请注意,当玩家X标记时,该游戏已经获胜6,这时游戏结束,向授予胜利X。(即,一旦玩家获胜,忽略其余的举动) 您面临的挑战(代码)是打印所有游戏(排序顺序)及其结果。 格式 <movesequence>:<result>\n 例如: 012345678:X 012345687:X 012345768:X ... 表示X第一个玩家获胜,O第二个玩家和D平局。 将有9!(362880)个游戏。 这是一些数据以验证您的结果。 'X' Wins: 212256 'O' Wins: 104544 Draws : 46080 这是一个代码高尔夫,运行时应在一分钟之内。玩得开心! 编辑:删除了多余的详细信息,然后将其打印在上stdout。无需创建文件。

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

3
井字游戏
创建一个确定性的程序来播放N d井字棋与其他选手。 当n(宽度)和d(维数)在以下范围内时,您的程序应该可以运行: n∈[3,∞)∩ℕ ie a natural number greater than 2 d∈[2,∞)∩ℕ ie a natural number greater than 1 n = 3; d = 2(3 2即3 x 3): [][][] [][][] [][][] n = 3; d = 3 (3 3即3 x 3 x 3): [][][] [][][] [][][] [][][] [][][] [][][] [][][] …

14
递归级联[N]的累积和与M次迭代
取两个正整数N,M并[N]通过M迭代创建的串联累积和。输出最后一次迭代的结果。 串联累积和的定义: 以数字开头N并定义顺序X = [N] 追加到X的累积和X 重复步骤2 M次。 向量的累加和X = [x1, x2, x3, x4]为:[x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]。 N = 1和的示例M = 4: P =累积和函数。 M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, 1, 2] - X …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

15
井字游戏-X或O?
背景 如果您熟悉井字游戏,请跳到“任务”(我想大多数人是!) 井字游戏是一款著名的两人游戏。它由一个3x3的棋盘组成,由两个玩家逐渐填充(以下说明);第一个玩家使用角色X,另一个使用O。获胜者是第一个获得水平,垂直或对角线连续3个相同字符(X或O)的人。如果棋盘已满,并且没有一个玩家设法获得上述连续的三个角色,则游戏以平局结束。请注意,如果任一位玩家的胜利总数少于9步(如果出现平局,则不会发生),游戏结束时可能会有空位。 任务 给定游戏结束时的井字游戏板(以字符串,矩阵,9个有序值的平面列表以及任何其他体面格式的形式),确定谁赢了游戏。 输入将包含不同且一致的值,一个表示X,一个表示O,另一个表示空白。 您的程序应该能够输出3个不同的,一致的和非空的值:一个以防万一X,另一个以防万一O如果玩家并列,则为另一个。 请在答案中指定这些值。您可以假定输入将是有效的井字游戏板。 测试用例 X,O,_在这里的输入值; X wins,O wins并Tie用于输出。 X O X O X _ O _ X 输出:X wins。 X _ O X O _ X O X 输出:X wins。 X O X _ O X _ O _ 输出:O wins。 X O X O …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.