AlgoMooc
← 返回题库

P2515. 五子棋迷

中等通过率 31% · 提交 214 · 通过 67
模拟枚举贪心

小慕正在开发一个五子棋的AI辅助工具,今天测试时遇到了一条线上的棋子分布情况: 用数组表示:-1 0 1 1 1 0 1 0 1 1 棋子分布说明: 1. -1代表白子,0代表空位,1代表黑子 2. 数组长度L,满足1 < L < 40,且L为奇数 小慕需要你帮他写一个程序,计算出最有利的下子位置。 最有利定义: 1. 找到一个空位(0),用棋子(1/-1)填充该位置,可以使得变大 2. 如果存在多个符合要求的位置,返回 3. 如果不存在可行位置,直接返回-1 4. (五子棋规则)

提示:带虚线的词点一下有通俗解释。

输入描述

第一行: 当前出子颜色 第二行: 当前的棋局状态

输出描述

1个整数,表示出子位置的数组下标

示例

示例 1

输入

1
-1 0 1 1 1 0 1 0 1 -1 1

输出

5

说明:当前为黑子 (1),放置在下标为5的位置,黑子的最大连续长度由3变成为5,由下标2到6构成

示例 2

输入

-1
-1 0 1 1 1 0 1 0 1 -1 1

输出

1

说明:当前为白子,唯一可以放置的位置下标为1,白子的最大长度,由1变为2

示例 3

输入

1
0 0 0 0 1 0 0 0 0 1 0

输出

5

说明:可行的位置很多,5最接近中间的位置坐标

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。