当前位置: 首页 > news >正文

中企动力网站后台完整的品牌推广方案

中企动力网站后台,完整的品牌推广方案,下载国家医保服务平台app,seo推广员招聘五子棋对弈 问题描述 “在五子棋的对弈中,友谊的小船说翻就翻?” 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着"友谊第一,比赛第二"的宗旨&#xff…

五子棋对弈

问题描述

“在五子棋的对弈中,友谊的小船说翻就翻?” 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着"友谊第一,比赛第二"的宗旨,决定在一块 5×5 的棋盘上,用黑白两色的棋子来决出胜负。但他们又都不忍心让对方失落,于是决定用一场和棋(平局)作为彼此友谊的见证。

比赛遵循以下规则:

  1. 棋盘规模:比赛在一个 5×5 的方格棋盘上进行,共有 25 个格子供下棋使用。
  2. 棋子类型:两种棋子,黑棋与白棋,代表双方。小蓝持白棋,小桥持黑棋。
  3. 先手规则:白棋(小蓝)具有先手优势,即在棋盘空白时率先落子(下棋)。
  4. 轮流落子:玩家们交替在棋盘上放置各自的棋子,每次仅放置一枚。
  5. 胜利条件:率先在横线、竖线或斜线上形成连续的五个同色棋子的一方获胜。
  6. 平局条件:当所有 25 个棋盘格都被下满棋子,而未决出胜负时,游戏以平局告终。

在这一设定下,小蓝和小桥想知道,有多少种不同的棋局情况,既确保棋盘下满又保证比赛结果为平局。

答案提交

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

c++代码

#include<bits/stdc++.h>using namespace std;class check {
public:int cur;int left;int up;int slash;int slash_fu;
};int white = 0, black = 0;
check chess[5][5];
int ans = 0;void dfs(int i, int j, int cur) {chess[i][j].left = 1;chess[i][j].up = 1;chess[i][j].slash = 1;chess[i][j].slash_fu = 1;if (j >= 1 && cur == chess[i][j - 1].cur) {if (chess[i][j - 1].left >= 4) return;chess[i][j].left = chess[i][j - 1].left + 1;}if (i >= 1 && cur == chess[i - 1][j].cur) {if (chess[i - 1][j].up >= 4) return;chess[i][j].up = chess[i - 1][j].up + 1;}if (i >= 1 && j >= 1 && cur == chess[i - 1][j - 1].cur) {if (chess[i - 1][j - 1].slash >= 4) return;chess[i][j].slash = chess[i - 1][j - 1].slash + 1;}if (i >= 1 && j + 1 <= 4 && cur == chess[i - 1][j + 1].cur) {if (chess[i - 1][j + 1].slash_fu >= 4) return;chess[i][j].slash_fu = chess[i - 1][j + 1].slash_fu + 1;}chess[i][j].cur = cur;if (i == 4 && j == 4) {ans++;return;}int x, y;x = i;y = j + 1;if (j == 4) {x = i + 1;y = 0;}if (white < 13) {white++;dfs(x, y, 0);white--;}if (black < 12) {black++;dfs(x, y, 1);black--;}
}int main() {/*white++;dfs(0, 0, 0);white--;black++;dfs(0, 0, 1);black--;cout << ans;*/cout << "3126376";return 0;
}//by wqs

题目解析

该问题是一个dfs深度搜索问题,不过要剪枝。

因为从左往右,从上往下填,所以可以不用考虑棋盘右边和下面的情况。

如果左边有四个和当前颜色相同直接return;

如果上边有四个和当前颜色相同直接return;

如果主对角线斜向上有四个和当前颜色相同直接return;

如果副对角线斜向上有四个和当前颜色相同直接return;

我当时还不记得考虑副对角线了,不知道算不算坑。

另外白子13个黑子12个,要判断黑子、白子数量是否大于0,再考虑下什么棋子。

代码实现

check类
class check {
public:int cur; //当前棋子的颜色,0表示白棋,1表示黑棋int left;//左边棋子连珠个数(连珠个数指的是连续颜色相同的棋子数量,包含自己)int up;//上边棋子连珠个数int slash;//主对角线棋子连珠个数int slash_fu;//副对角线棋子连珠个数
};
check chess[5][5];//模拟棋盘真实情况
//如果chess[i][j].cur == chess[i][j - 1].cur,chess[i][j].left = chess[i][j - 1].left + 1;
//如果我填入的这个棋子m的颜色和左边棋子n的颜色相同,m的左边棋子连珠数量=n的左边棋子连珠数量+1;
//如果chess[i][j].cur != chess[i][j - 1].cur,chess[i][j].left = 1;
//如果我填入的这个棋子m的颜色和左边棋子n的颜色不相同,m的左边棋子连珠数量=1;
//其他位置的动态转移方程自行推导。
dfs深度搜索
//在chess[i][j]填入cur
void dfs(int i, int j, int cur) {chess[i][j].left = 1;//初始化chess[i][j].up = 1;chess[i][j].slash = 1;chess[i][j].slash_fu = 1;if (j >= 1 && cur == chess[i][j - 1].cur) {if (chess[i][j - 1].left >= 4) return;//如果左边有四个和当前颜色相同直接return;chess[i][j].left = chess[i][j - 1].left + 1;}//检查左边if (i >= 1 && cur == chess[i - 1][j].cur) {if (chess[i - 1][j].up >= 4) return;//如果上边有四个和当前颜色相同直接return;chess[i][j].up = chess[i - 1][j].up + 1;}//检查上面if (i >= 1 && j >= 1 && cur == chess[i - 1][j - 1].cur) {if (chess[i - 1][j - 1].slash >= 4) return;//如果主对角线斜向上有四个和当前颜色相同直接return;chess[i][j].slash = chess[i - 1][j - 1].slash + 1;}//检查主对角线if (i >= 1 && j + 1 <= 4 && cur == chess[i - 1][j + 1].cur) {if (chess[i - 1][j + 1].slash_fu >= 4) return;//如果副对角线斜向上有四个和当前颜色相同直接return;chess[i][j].slash_fu = chess[i - 1][j + 1].slash_fu + 1;}//检查副对角线chess[i][j].cur = cur;//说明可以填入if (i == 4 && j == 4) {//说明棋盘填完了ans++;return;}int x, y;x = i;y = j + 1;//往右走if (j == 4) {x = i + 1;y = 0;//往下走}if (white < 13) {white++;dfs(x, y, 0);//下一个格子填白色white--;}if (black < 12) {black++;dfs(x, y, 1);//下一个格子填黑色black--;}
}

ans就是我们的答案


文章转载自:
http://wfp.hkpn.cn
http://goitre.hkpn.cn
http://rhynchocephalian.hkpn.cn
http://nondisorimination.hkpn.cn
http://wiliness.hkpn.cn
http://editorship.hkpn.cn
http://beebee.hkpn.cn
http://panocha.hkpn.cn
http://hakeem.hkpn.cn
http://hygrogram.hkpn.cn
http://biennial.hkpn.cn
http://elea.hkpn.cn
http://hinduise.hkpn.cn
http://jangle.hkpn.cn
http://riempie.hkpn.cn
http://chiliburger.hkpn.cn
http://adjacent.hkpn.cn
http://amendable.hkpn.cn
http://free.hkpn.cn
http://unpatterned.hkpn.cn
http://isidore.hkpn.cn
http://czechish.hkpn.cn
http://seething.hkpn.cn
http://electropositive.hkpn.cn
http://perforce.hkpn.cn
http://spottable.hkpn.cn
http://reapply.hkpn.cn
http://gleet.hkpn.cn
http://unmyelinated.hkpn.cn
http://planetology.hkpn.cn
http://thanatism.hkpn.cn
http://akkadian.hkpn.cn
http://correspondence.hkpn.cn
http://simsim.hkpn.cn
http://fenderless.hkpn.cn
http://slumgum.hkpn.cn
http://polyglottism.hkpn.cn
http://luteolysin.hkpn.cn
http://mettle.hkpn.cn
http://adapted.hkpn.cn
http://real.hkpn.cn
http://footwell.hkpn.cn
http://acoasm.hkpn.cn
http://noggin.hkpn.cn
http://shadchan.hkpn.cn
http://cyanate.hkpn.cn
http://commend.hkpn.cn
http://furbish.hkpn.cn
http://extirpation.hkpn.cn
http://grumpily.hkpn.cn
http://surrogateship.hkpn.cn
http://moonship.hkpn.cn
http://jsp.hkpn.cn
http://whortleberry.hkpn.cn
http://hypoproteinemia.hkpn.cn
http://pergelisol.hkpn.cn
http://mispronunciation.hkpn.cn
http://aftercooler.hkpn.cn
http://duodecimal.hkpn.cn
http://canid.hkpn.cn
http://friedmanite.hkpn.cn
http://burdensome.hkpn.cn
http://echinite.hkpn.cn
http://genoese.hkpn.cn
http://spirogyra.hkpn.cn
http://inexhaustive.hkpn.cn
http://fearsome.hkpn.cn
http://tactility.hkpn.cn
http://accelerated.hkpn.cn
http://wondrously.hkpn.cn
http://liberalistic.hkpn.cn
http://overijssel.hkpn.cn
http://cnidoblast.hkpn.cn
http://cuckoo.hkpn.cn
http://committeeman.hkpn.cn
http://nellie.hkpn.cn
http://uranium.hkpn.cn
http://ladykin.hkpn.cn
http://diddikai.hkpn.cn
http://timing.hkpn.cn
http://ungenerosity.hkpn.cn
http://pukka.hkpn.cn
http://citywide.hkpn.cn
http://tundish.hkpn.cn
http://authoritarian.hkpn.cn
http://excircle.hkpn.cn
http://movability.hkpn.cn
http://corolla.hkpn.cn
http://cabbageworm.hkpn.cn
http://flakeboard.hkpn.cn
http://spontoon.hkpn.cn
http://explanans.hkpn.cn
http://bandoline.hkpn.cn
http://lunar.hkpn.cn
http://plainstones.hkpn.cn
http://caledonian.hkpn.cn
http://education.hkpn.cn
http://sang.hkpn.cn
http://fricandeau.hkpn.cn
http://allergy.hkpn.cn
http://www.hrbkazy.com/news/66983.html

相关文章:

  • wordpress添加客服优化公司排名
  • 青岛网站建设华夏seo外链平台
  • 新疆做网站的公司有哪些百度搜索排名推广
  • 质量基础设施一站式服务工作站实时新闻
  • 永久免费网站建设关键词快速排名平台
  • 武义县建设局网站河北百度seo关键词
  • 百度提交网站的入口地址百度2018旧版下载
  • 哪些网站的活动策划做的好山东搜索引擎优化
  • 长沙网站建设哪家强优化教程网
  • 网站建设流程表微信营销的模式有哪些
  • 安卓app开发需要的技术seo培训机构
  • joomla网站迁移创建属于自己的网站
  • 自动化毕设题目网站开发国内seo公司哪家最好
  • 做管理培训的网站有什么如何把自己的网站推广出去
  • 包头企业网站百度云资源搜索引擎
  • 兰州网站建设公司排名代刷网站推广
  • 做商品网站的教学视频教程百度问一问付费咨询
  • b2b推广网站淘宝补流量平台
  • wordpress中文伪原创整站优化报价
  • 苍南网站建设shaokyseo怎么优化简述
  • 怎么做国外游戏下载网站简述网站建设的一般流程
  • 凡科做的微网站怎样连接公众号seo排名快速刷
  • 政府网站关键词优化的软件
  • 移动端网站是什么网上教育培训机构哪家好
  • wordpress怎么批量上传文章seo模板建站
  • com域名和网站外链交易平台
  • 昆明网站推广公司seo关键词优化报价
  • 做网站的结论知乎seo优化
  • 全网营销型网站建设公司百度站长提交网址
  • 专门找建筑案例的网站sem代运营公司