P7012 [CERC2013] Draughts

devtools/2025/1/12 23:29:55/

网址如下:

P7012 [CERC2013] Draughts - 洛谷 | 计算机科学教育新生态

有点坑了,白棋不止一个,而题目说“你会得到一个白棋的位置”

总的来说就是dfs硬做

代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int maxn = 10;char board[maxn][maxn];
int _x[maxn * maxn], _y[maxn * maxn], ans, cnt;
int m_x[4]{1, 1, -1, -1};
int m_y[4]{1, -1, 1, -1};void init(void){ans = 0;cnt = 0;
}
void input(void){char c; getchar();for(int i = 0; i < maxn; i++){for(int j = 0; j < maxn; j++){c = getchar();if(c == 'W'){_x[cnt] = i; _y[cnt++] = j;}board[i][j] = c;}getchar();}
}
bool is_out(int x, int y){if(x < 0 || y < 0 || x >= maxn || y >= maxn) return true;return false;
}
void dfs(int x, int y, int d){ans = max(ans, d);for(int i = 0; i < 4; i++){int tx = x + m_x[i], ty = y + m_y[i];if(is_out(tx, ty) || board[tx][ty] != 'B') continue;int ttx = tx + m_x[i], tty = ty + m_y[i];if(is_out(ttx, tty) || board[ttx][tty] != '#') continue;board[tx][ty] = '#';dfs(ttx, tty, d + 1);board[tx][ty] = 'B';}
}int main(void)
{int T; scanf("%d", &T); getchar();while(T--){init(); input();if(cnt){for(int i = 0; i < cnt; i++){board[_x[i]][_y[i]] = '#'; dfs(_x[i], _y[i], 0); board[_x[i]][_y[i]] = 'W';}}printf("%d\n", ans);}return 0;
}


http://www.ppmy.cn/devtools/149997.html

相关文章

LeetCode - #186 翻转字符串里的单词 II(会员题)

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

C# 获取某日期所属当周、当月的第一天和最后一天

见过不少人、经过不少事、也吃过不少苦&#xff0c;感悟世事无常、人心多变&#xff0c;靠着回忆将往事串珠成链&#xff0c;聊聊感情、谈谈发展&#xff0c;我慢慢写、你一点一点看...... 1、获取某日期所在周的第一天 public DateOnly GetFirstDayOfWeek(DateTime dateTime)…

人工智能前沿探讨:从Transformer架构到机器意识与迁移学习的应用

Transformer架构可能为理解人脑的运作提供新的视角 Transformer架构与人脑的相似之处是一个颇受关注的话题。虽然人脑和Transformer架构之间有许多差异&#xff0c;但也有一些相似之处&#xff0c;值得我们探讨。 相似之处: 注意力机制: Transformer架构中的注意力机制是它的…

AI刷题-数位长度筛选问题、数值生成与运算问题

目录 一、数位长度筛选问题 问题描述 测试样例 解题思路&#xff1a; 问题理解 数据结构选择 算法步骤 关键点 最终代码&#xff1a; 运行结果&#xff1a; 二、数值生成与运算问题 问题描述 测试样例 解题思路&#xff1a; 问题理解 数据结构选择 算法步骤…

Docker: 教程07 - ( 如何对 Docker 进行降级和升级)

如果我们使用 docker 来管理容器&#xff0c;那么保持 docker 引擎的更新将会是十分重要的&#xff0c;这一篇文章我们将会讨论如何对Docker 进行降级和升级。 准备工作 - docker 环境 我们需要拥有一个安装好 docker 的运行环境。 如果你需要了解如何安装 docker 可以通过如…

spark汇总

目录 描述运行模式1. Windows模式代码示例 2. Local模式3. Standalone模式 RDD描述特性RDD创建代码示例&#xff08;并行化创建&#xff09;代码示例&#xff08;读取外部数据&#xff09;代码示例&#xff08;读取目录下的所有文件&#xff09; 算子DAGSparkSQLSparkStreaming…

使用uniapp 微信小程序一些好用的插件分享

总结一下自己在开发中遇见的一问题&#xff0c;通过引入组件可以快速的解决 1.zxz-uni-data-select 下拉框选择器(添加下拉框检索&#xff0c;多选功能&#xff0c;多选搜索功能&#xff0c;自定义 下拉框插件&#xff0c;使用这个的原因是因为 uniui uview 组件库下拉框太…

【赵渝强老师】什么是NoSQL数据库?

随着大数据技术的兴起&#xff0c;NoSQL数据库得到了广泛的应用。NoSQL的全称是Not Only SQL&#xff0c;中文含义是不仅仅是SQL。它泛指所有的非关系型数据库&#xff0c;即&#xff1a;在NoSQL数据库中存储数据的模型可能不是二维表的行和列。NoSQL数据库不遵循关系型数据库范…