C++给蜗蜗留口气代码源oj题库求解

该问题涉及一个n×n的棋盘游戏,其中包含黑棋(1)、白棋(2)和空位(0)。玩家需要计算所有白棋(蜗蜗的棋子)的‘气’总数,即每个棋子周围空位的数量。气的计算时不包括棋盘边缘和角落的虚拟气。输入是棋盘的状态,输出是白棋的总气数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蜗蜗最近爱上了下蜗蜗棋,蜗蜗棋和地球上的围棋有相似之处。他最近在分析自己以前下过的一些残局(即将结束的棋局)。现在有一个 n×n的棋盘。每个位置有一个数,这个数为 0 ,则表示这里没有棋子,是空的;这个数为 1 ,则这里有一颗黑棋;这个数为 2,则这里有一颗白棋。一颗棋有多少“气”,取决于它周围位置的状态。对于每颗棋子,它的上下左右四个方位上距离它最近的位置中,有几个是空着的,那它就有几口“气”,特别的,如果这个棋子在边上或者角上,意味着它某些方向上的位置已经出了棋盘,那么,虽然那里没有棋子,但也不能算是有“气”。

例如对于一颗棋子,它包括上下左右的状态如下:

  1
0 1 0
  2

对于中间的那个 1,它有 2口“气”。因为它左右两边是空着的。

蜗蜗用的是白棋,请你帮他计算一下,他的棋子总共有多少口“气”。注意,计算所有棋子的“气”的总和时,一个 0只能被当作一口“气”,不能重复计算。

输入格式

第一行一个正整数 n。

接下来 n行,每行 n 个数( 0 或者 1 或者 2),中间用空格隔开,表示棋盘状态。

输出格式

一行, 一个整数,表示蜗蜗的棋子总共有多少口“气”。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值