Questions tagged «go»

30
哪个围棋等级更高?
传统棋盘游戏Go的玩家使用等级系统衡量他们的技能: 新加入该游戏的玩家排名第30kyū(书面30k),并递减至第1kyū(书面1k)。这些被认为是学生等级。 玩家可以从第1推动圭以1 丹等级(书面1d),然后进度上数到第七丹等级(书面7d)。这些是大师级的队伍。 过去非常熟练的运动员7d可以晋升为第一职业丹等级 1p,并逐步增长到第九职业丹等级(书面9p)。这是最高等级。 简而言之:等级是有序的30k < 29k < ··· < 1k < 1d < 2d < ··· < 7d < 1p < 2p < ··· < 9p。 任务 鉴于中两个字符串{ 30k,... 1k,1d..., 7d,1p,... 9p}作为输入,输出更高的两个级别。(如果它们相等,则只需输出其中一个输入。) (通常,I / O是灵活的,您的答案可以是函数或完整程序,可以以任何合理的方式读取输入并以任何合理的方式产生输出。) 这是代码高尔夫球:目的是最大程度地减少代码的字节数。 测试用例 (格式:input1 input2 output。) 29k 9k 9k 21k 27k 21k 6d …
53 code-golf  string  go 

19
在空的Go板上放置一块石头
另请参阅:在Go板上移动。 任务 Go是一种棋盘游戏,两名玩家(黑白)将石头放在19×19棋盘的网格线相交处。黑色先行-例如,在D4上: 在此挑战中,您必须像D4输入棋盘一样进入棋盘坐标,并输出棋盘的ASCII表示,并在给定点进行第一步移动。 请注意,没有列I。从历史上看,这是为了减少与J和L的混淆。 此输出包含19行,每行包含19个字符。标有石头的点已标记O。在板空点被示出为.,除了九个星点(在D4,D10,D16,K4,K10,K16,Q4,Q10,和Q16),其被标记*。 例如,F5作为输入,您答案的输出必须为: ................... ................... ................... ...*.....*.....*... ................... ................... ................... ................... ................... ...*.....*.....*... ................... ................... ................... ................... .....O............. ...*.....*.....*... ................... ................... ................... 而鉴于Q16作为输入,你的输出必须是: ................... ................... ................... ...*.....*.....O... ................... ................... ................... ................... ................... ...*.....*.....*... ................... ................... ................... ................... ................... ...*.....*.....*... ................... ................... ................... 规则 您可以编写将坐标作为参数的函数,或者编写从命令行或从中读取坐标的程序STDIN。 您可以选择以小写或大写形式接受输入,但是您的答案不需要同时处理这两种情况。 输入始终是单个字符串,例如a1或T19,决不能是字符串+数字或两个字符串。 …

5
得分围棋
进行围棋比赛得分并非易事。过去,关于如何设计规则以涵盖可能发生的所有奇特拐角案例的争论一直存在。幸运的是,在此任务中,您不必做复杂的工作,如生死攸关或检测出关。在此任务中,您必须实现一个根据Tromp-Taylor规则在没有Komi的情况下为游戏评分的程序。 计分程序非常简单: 如果P色的相邻点(从P到C点)之间存在(垂直或水平)相邻点的路径,则称为P点(未着色的C点)到达C 点。 ,再加上仅达到她的颜色的空白点数。 例如,考虑以下电路板。X,O并-表示黑色,白色和无色交叉点: - - - X - O - - - - - - X - O - - - - - - X - O - - - - - - X O - - O - X X X O - O O - …

2
在围棋板上移动
您将获得棋牌游戏和棋局的位置。您需要输出此举是否合法,以及新董事会职位(如果合法)。 围棋动作的简要说明:游戏包括将黑白棋子(“石头”)交替放置在方形板上的空白处。相互连接(4路)的相同颜色的零件组称为组。板上邻近某个组(也是4向)的空白位置被视为该组的“自由”。拥有0个自由的组被捕获(从董事会中删除)。除非捕获一个或多个对手的组(此过程中获得了自由,因此实际上并未被捕获),否则将导致其自身的组被捕获(“自杀”)的举动是非法的。 对于那些相关人员,您不需要处理ko(和superko),即,您可以假定ko捕获是合法的。如果您不知道这是什么意思,请遵循上述规则,就可以了。 输入: 2到19(含)之间的数字n代表棋盘的大小,n行n介于0到2(含2)之间的n数代表棋盘的位置,后跟3个以空格分隔的数字,代表进行的动作。在棋盘位置,0表示空白,1表示黑色石头,2表示白色石头。此举使石头的列,行和颜色(1或2)得以放置。列和行从0开始,从0到n-1(含)范围内,并按与板输入相同的顺序计数。 您可以假定给定的董事会职位是合法的(所有团体至少有一个自由)。 输出:如果移动是否合法,则该行包含1或0(如果愿意,则为true / false),然后(仅在合法移动的情况下)以与输入相同的格式跟随新的木板位置。 得分:完整源代码的字节数,越小越好。如果使用非ascii字符,则要加收20%的罚款,如果无法使用免费软件在Linux中测试您的代码,则要加收20%的罚款。 规则:没有网络连接,也没有第三方库。您的程序应使用标准的输入和输出流,或您的编程语言使用的标准等效流。 例子: 1) Input: 2 10 01 1 0 2 Output: 0 2) Input: 2 10 11 1 0 2 Output: 1 02 00 3) Input: 5 22122 22021 11211 02120 00120 2 1 1 Output: 1 00100 00101 11011 …

4
建立确定性的Go AI
这是我前几天想到的一个有趣的问题,它涉及到一些代码位与其他代码位竞争,不仅是在代码具有的属性中,而且是通过与其他代码位进行游戏。 您的任务是构建一个程序,该程序采用Go板的当前状态,并确定要采取或通过的动作。 您的程序将接受以下内容作为输入: 19行,每行19个字符,代表Go板上当前的棋子。的字符0代表一个空的正方形,1是黑色和2白色。 两个数字代表每个玩家拥有的囚犯件数(黑色,然后是白色)。 一个数字,代表要移动的人(黑色或白色)。如上所述,1是黑色,2是白色。 并输出以下内容之一: 一对坐标,a b表示移动的坐标。1 1是左上角的正方形,第一个和第二个数字分别代表向下和向右移动。 字符串pass,表示通过。 例如,该程序可能会收到以下输入: 0000000000000000000 0000000000000000000 0000000000000000000 0001000000000002000 0000000000000000000 0000000000000000000 0001210000000000000 0000100000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0002000000000001000 0000000000000000000 0000000000000000000 0000000000000000000 0 0 1 代表只玩了几步的游戏。 然后程序可能会输出6 5,这意味着“在顶部的第6点和左侧的第5点放置一块黑色的石头”。这将捕获处的白色石头7 5。董事会的状态将更改为: 0000000000000000000 0000000000000000000 0000000000000000000 0001000000000002000 0000000000000000000 0000100000000000000 0001010000000000000 0000100000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 …
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.