2024年第十五届蓝桥杯青少组C++国赛—割点

割点

题目描述

一张棋盘由n行 m 列的网格矩阵组成,每个网格中最多放一颗棋子。当前棋盘上已有若干棋子。所有水平方向或竖直方向上相邻的棋子属于同一连通块。

现给定棋盘上所有棋子的位置,如果要使棋盘上出现两个及以上的棋子连通块,请问最少需要移除几颗棋子?如果无论怎么移除棋子都无法满足要求,则输出 -1。(注:只能通过移除棋子的操作来使棋盘上出现两个及以上的棋子连通块。

由下图可知,最少需要移除 2颗棋子才能使棋盘上出现两个及以上的棋子连通块。

例如:n=3,m=3,3x3的棋盘示意图如下:

移除后棋盘示意图如下:

故答案为 2。

输入格式

本题每个测试点包含多组测试数据第一行包含一个整数T(1 ≤ T ≤ 50),表示数据组数接下来T组数据,每组数据第一行输入两个整数 和 m(1 ≤ n,m ≤ 60),分别表示组成棋盘的网格矩阵的行数和列数,整数之间以一个空格隔开

完整题目可前往题库中心查看,题库中心支持在线编程,涵盖白名单赛事真题及考级真题,助力巩固知识,备战赛事。

https://www.hixinao.com/tiku/cpp/show-3782.html

相关推荐
大白话_NOI几秒前
【洛谷 P1303】A*B Problem + 详细分析
c++
小欣加油7 分钟前
leetcode2161 根据给定数字划分数组
数据结构·c++·算法·leetcode·职场和发展
吃着火锅x唱着歌21 分钟前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(2)
c++·笔记·学习
玖釉-23 分钟前
Vulkan 离屏渲染详解:从 Framebuffer 到后处理、阴影贴图与 Render Texture
c++·windows·计算机视觉·图形渲染
cpp_250134 分钟前
P2947 [USACO09MAR] Look Up S
数据结构·c++·算法·题解·单调栈·洛谷
楼田莉子41 分钟前
C++20新特性:协程
开发语言·c++·后端·学习·c++20
炘爚1 小时前
phase1:基础框架——编译 + MySQL + 登录/注册
linux·c++
特种加菲猫1 小时前
C++11核心特性深度解析:从列表初始化到lambda与包装器
开发语言·c++
枕星而眠1 小时前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
智者知已应修善业2 小时前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19
c++·经验分享·笔记·算法·51单片机