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

编程题——棋盘走法 编程题——棋盘走法 题目描述: 请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。 输入描述: 输入两个正整数 输出描述: 返回结果 示例1 输入 2 2 输出 6 程序代码如下: #include <iostream> ... 阅读详情

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

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

  1
0 1 0
  2

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

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

输入格式

第一行一个正整数 n。

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

输出格式

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

n子棋 C++ 小 A 和小 B 在玩 n子棋,n子棋游戏的规则是,两人在一个左上角是(1,1),右下角是 (n,n)的n×n棋盘中交替落子,只要有一方的 n个棋子在同一行或者同一列或者同一条对角线上,对方就输了。 游戏由小 A 先手,一共进行了m回合,请你来当裁判,帮他们裁定胜负。 游戏结束的条件是: 出现胜负; 所有回合结束。 一旦满足上述任意一个条件,游戏立即结束,后续回合无效 【数据规模】 对于前60%的数据,保证1≤n≤50; 对于100%的数据,保证1≤n≤103,0≤m≤n2。 保证最初棋盘是空的且游戏结束前 阅读详情

相关推荐

leetcode和oj-C-Coding:C++源代码

leetcode 和 oj C-Coding C++ source codes OJ 序号 题目 描述 status 1 A+B Problem 基本输入输出 2 big int 超长整数相加 3 link 将两个线性表合并成为一个线性表 4 edit 字符串操作 5 二哥摘苹果 6 二哥种花生 7 二哥养细菌 8 西西弗斯式的命运 9 排序 10 Ackerman函数 11 ackerman 12 pascal 13 ferry 14 isCBT 15 levelOrder 16 same 17 traverse 18 bernoulli 19 heap 20 optimization 21 settest 22 bst 23 hash 24 distinct 25 qsort 26 select 27 lca 28 maze 29 Path 30 Kruskal 31 Dijkstra 32 spath 33 Courses 34 frac1 35 subset 36 数独 37 求和游戏 38 二哥领工资 39 复数类 40 无限背包 41 A+B Problem Revisit

口气(解答)

最近爱上了下棋,棋和地球上的围棋有相似之处。他最近在分析自己以前下过的一些残局(即将结束的棋局)。现在有一个 n × n的棋盘。每个位置有一个数,这个数为 0 ,则表示这里没有棋子,是空的;这个数为 1 ,则这里有一颗黑棋;这个数为 2 ,则这里有一颗白棋。一颗棋有多少“气”,取决于它周围位置的状态。

zjy_goldfish的博客 936

代码源每日一题Div.1 (401-407)

我可是有朋友的。还有三个。 ——《青春猪头少年系列》梓川咲太

xhyu61的博客 825

最近沉迷上了棋。 棋里有一颗棋子,一开始出现在数轴上等于 x 的位置。 对于每一步,假设当前棋子的位置为 c ,如果 c<k,那么会把棋子挪到位置 c+y,否则会把棋子挪到位...

您好,我可以为您编写代码来解决这个问题。以下是 Python 代码: def position(x, y, z, k, s): c = x for i in range(s): if c < k: c = c * y else: c = c - z return c 您可以调用这个函数,...

weixin_35749545的博客 986

C++基础复习

C++引用int add(int &b) { b=b+1; return b; } int main() { int a=99; printf("%d\n",add(a)); }构造函数#include<iostream> using namespace std; class Person{ private: char *name; int age; char *work;

夜黯竹亭风的博客 512

算法总结2:实现五子棋(C++

C++实现五子棋判得分算法

qq_42546827的博客 694

C++OJ题)

只要你努力了,就没什么是不可能的!

qq_66518801的博客 795

【无标题】

acwing 3311

无用之人的博客 244

求解 注意时间别超限

时间限制:1 s空间限制:1024 MBc++ 用二分!用二分!

2302_76340107的博客 519

荣耀答案

【代码】荣耀答案。

wadc121230的博客 291

用c++实现黑白棋

黑白棋规则介绍黑白棋是由黑方和白方两人进行的益智游戏。棋盘为N×N方格,黑白棋总共使用N2个棋子,每个棋子分正反两面,分别是黑色和白色。轮到一方下棋时,必须把棋下在与对方棋子相邻的空位上,要求所下的棋子和原有的已方棋子夹住对方的至少一个棋子(横竖斜夹均可),然后把被夹住的子变成己方的颜色(也叫吃子)。下棋过程中,任何棋子既不会从棋盘上拿走,也不会从一个格子移到另一个格子,吃子时,不会发生连锁反

zdfantasy的专栏 1万+

8.25题目:多少场上王者

多少把上王者

JonlyMay的博客 1267

代码源每日一题 div1 (401-407)

代码源每日一题 div1 (401-407) 的数列 [Link](的数列 - 题目 - Daimayuan Online Judge) 思路 差分 ​ 首先ci=ai−bic_i=a_i-b_ici​=ai​−bi​,等价于让我们求操作后cic_ici​均为零。对于区间操作我们倾向于改变成单点操作,这样复杂度就降下来了,观察斐波那契数列fi=fi−1+fi−2f_i=f_{i-1}+f_{i-2}fi​=fi−1​+fi−2​,每一项与前两项有关,我们设di=ci−ci−1−ci−2d_i=c

a12377978的博客 791

人机博弈-吃子棋游戏(二)算气

介绍人机博弈-吃子棋游戏,算气算法,此算法也可应用到围棋中。

Ron的专栏 2561

帮我一下,c++

国最厉害的园丁,每天负责给国的中央大道上的植物浇水。已知中央大道是一条直线,上面有 n� 棵位置互不相同的植物,它们的位置分别为 a1,a2,…,an�1,�2,…,��。每天需要从位置 00 开始,把每棵植物都浇一遍水,但他有点懒,希望能够走最少的路程,浇完所有的植物,请你帮帮他。已知从位置 i� 到位置 j�(i

wadc121230的博客 699
SCP-errorOWO
博客等级 码龄4年 2粉丝 0原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值