返回介绍

lcp / LCP 48. 无限棋局 / README

发布于 2024-06-17 01:04:41 字数 1988 浏览 0 评论 0 收藏 0

LCP 48. 无限棋局

题目描述

小力正在通过残局练习来备战「力扣挑战赛」中的「五子棋」项目,他想请你能帮他预测当前残局的输赢情况。棋盘中的棋子分布信息记录于二维数组 pieces 中,其中 pieces[i] = [x,y,color] 表示第 i 枚棋子的横坐标为 x,纵坐标为 y,棋子颜色为 color(0 表示黑棋,1 表示白棋)。假如黑棋先行,并且黑棋和白棋都按最优策略落子,请你求出当前棋局在三步(按 黑、白、黑 的落子顺序)之内的输赢情况(三步之内先构成同行、列或对角线连续同颜色的至少 5 颗即为获胜):

  • 黑棋胜, 请返回 "Black"

  • 白棋胜, 请返回 "White"

  • 仍无胜者, 请返回 "None"

注意:

  • 和传统的五子棋项目不同,「力扣挑战赛」中的「五子棋」项目 不存在边界限制,即可在 任意位置 落子;

  • 黑棋和白棋均按 3 步内的输赢情况进行最优策略的选择

  • 测试数据保证所给棋局目前无胜者;

  • 测试数据保证不会存在坐标一样的棋子。

示例 1:

输入:

pieces = [[0,0,1],[1,1,1],[2,2,0]]

>

输出:"None"

>

解释:无论黑、白棋以何种方式落子,三步以内都不会产生胜者。

示例 2:

输入:

pieces = [[1,2,1],[1,4,1],[1,5,1],[2,1,0],[2,3,0],[2,4,0],[3,2,1],[3,4,0],[4,2,1],[5,2,1]]

>

输出:"Black"

>

解释:三步之内黑棋必胜,以下是一种可能的落子情况:

902b87df29998b1c181146c8fdb3a4b6.gif

提示:

  • 0 <= pieces.length <= 1000

  • pieces[i].length = 3

  • -10^9 <= pieces[i][0], pieces[i][1] <=10^9

  • 0 <= pieces[i][2] <=1

解法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文