首页 > 编程语言 >2024华为OD机试真题-围棋的气-(C++/Python)-C卷D卷-100分

2024华为OD机试真题-围棋的气-(C++/Python)-C卷D卷-100分

时间:2024-06-15 23:58:22浏览次数:28  
标签:真题 Python OD 棋子 坐标 黑棋 棋盘 白棋 口气

 2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 

题目描述

围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点,

对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。

“气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中,有几个交叉点没有棋子,由此可知:

1.在棋盘的边缘上的棋子最多有 3 口气(黑1),在棋盘角点的棋子最多有2口气(黑2),

其他情况最多有4口气(白1)

2.所有同色棋子的气之和叫做该色棋子的气,需要注意的是,同色棋子重合的气点,对于该颜色棋子来说,只能计算一次气,比如下图中,黑棋一共4口气,而不是5口气,因为黑1和黑2中间红色三角标出来的气是两个黑棋共有的,对于黑棋整体来说只能算一个气。

3.本题目只计算气,对于眼也按气计算,如果您不清楚“眼”的概念,可忽略,按照前面描述的规则计算即可。

现在,请根据输入的黑棋和白棋得到坐标位置,计算黑棋和白棋一共各有多少气?

输入描述

输入包含两行数据,如:

0 5 8 9 9 10

5 0 9 9 9 8

每行数据以空格分隔,数据个数是2的整数倍,每两个数是一组,代表棋子在棋盘上的坐标;

坐标的原点在棋盘左上角点,第一个值是行号,范围从0到18;第二个值是列号,范围从0到18。

举例说明:第一行数据表示三个坐标(0, 5)、(8, 9)、(9, 10)

第一行表示黑棋的坐标,第二行表示白棋的坐标。

题目保证输入两行数据,无空行且每行按前文要求是偶数个,每个坐标不会超出棋盘范围。

输出描述

8 7

两个数字以空格分隔,第一个数代表黑棋的气数,第二个数代表白棋的气数。

用例1

输入

0 5 8 9 9 10

5 0 9 9 9 8

输出

8 7

说明

如果将输入数据放到棋盘上

数数黑棋一共8口气,数数白棋一共7口气。

考点

逻辑分析

标签:真题,Python,OD,棋子,坐标,黑棋,棋盘,白棋,口气
From: https://blog.csdn.net/goldarmour/article/details/139612067

相关文章

  • Python自动化测试框架-pytest
    源码:https://github.com/pytest-dev/pytest文档:https://docs.pytest.org/en/8.2.x/安装:pipinstallpytest简单样例#contentoftest_sample.pydefinc(x):returnx+1deftest_answer():assertinc(3)==5命令行执行python可以看到执行结果命名规范......
  • python实验:图书管理
    使用Python语言完成读者管理功能的开发,要求该功能至少包括:输出读者管理主菜单、添加读者信息、删除读者信息、修改读者信息、显示所有读者信息。要求:1、每一条读者信息存储到一个字典类型变量中2、所有读者信息使用列表类型变量存储。导模块图书信息管理系统启动后,首先进......
  • 使用Modbus转Profinet网关无需编写Modbus轮询程序,实现PLC和电表通信
    一、无需编写Modbus轮询程序实现PLC与电表通信的方法在工业自动化领域,PLC(可编程逻辑控制器)与电表之间的通信是非常常见的需求。传统上,为了让PLC与电表进行通信,通常需要编写Modbus轮询程序来实现数据的读取和控制。然而,近年来出现了一种新的方法,即通过使用Modbus转Profinet网关,可......
  • SeqBreed:一个用于复杂性状基因组预测的 Python 工具
    本文介绍了一个名为SeqBreed的Python工具,用于评估基因组预测在复杂情况下的表现。该工具可以模拟任何数量的由任意数量的因果位点决定的复杂表型,可实现了GBLUP、SSGBLUP、PBLUP等,并支持多种基因组预测方法和复杂染色体类型。作者使用了果蝇和四倍体马铃薯的数据集进行了测试,并展示......
  • 一个在C#中集成Python的例子
    一个在C#中集成Python的例子。在C#中可以执行Python脚本,在Python中也可以调用C#宿主中的功能(clr.AddReference('Business'))。 文件说明Debug为执行目录Mgr.exe为执行文件Py\init.py为python初始化脚本Py\Lib.zip为python需要的模块,可以在init.py中importData为数据库......
  • 代码随想录 算法训练营 day10 leetcode232 用栈实现队列 Leetcode225 用队列实现栈 Le
    Leetcode232用栈实现队列题目链接讲解用两个栈实现队列每次需要出队列或者查看队头元素时,将输入栈的所有元素放到输出栈classMyQueue{Stack<Integer>stackIn;Stack<Integer>stackOut;publicMyQueue(){stackIn=newStack<>();//负责进......
  • python写一个获取竞品信息报告
    要编写一个获取竞品信息报告的Python程序,首先需要明确您想要获取的竞品信息以及数据来源。在这个示例中,我将展示如何从网页提取竞品信息,并编写一个简单的报告。假设您想要获取以下竞品信息:1.产品名称2.产品价格3.产品特点以下是一个简单的Python程序,用于从网页提取竞品......
  • 用python写一个企业知识库算法
    企业知识库算法是一个用于管理和检索企业内部知识的系统。在这个例子中,我们将使用Python编写一个简单的企业知识库算法,该算法将实现以下功能:1.添加知识条目2.搜索知识条目我们将使用一个字典来存储知识库中的知识条目。每个知识条目都是一个字典,包含以下字段:-id:知识条......
  • python迁移数据教程
    迁移数据是指将数据从一台计算机或系统转移到另一台计算机或系统。在本文中,我将向您展示如何使用Python迁移数据。我们将使用Python编写一个简单的脚本,将一个文件夹中的数据迁移到另一个文件夹。以下是迁移数据的步骤:1.安装所需的库:在这个例子中,我们不需要任何外部库。2.......
  • [atcoder 358] 【动态规划】
    dp[i][j]表示前i个和为j的个数。那么就有递推式dp[i][j]+=dp[i][j-x]*c(j,j-x);其中x满足从0到c[i],并且x满足<=j组合数递推公式c(n,k)=c(n,k-1)+c(n,k);importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;impor......