蓝桥杯历届试题 剪格子 (DFS)
http://lx.lanqiao.cn/problem.page?gpid=T27
历届试题 剪格子
时间限制:1.0s 内存限制:256.0MB
提交此题 锦囊1 锦囊2
问题描述
如下图所示,3 x 3 的格子中填写了一些整数。
+--*--+--+
|10* 1|52|
+--****--+
|20|30* 1|
*******--+
| 1| 2| 3|
+--+--+--+
我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。
本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。
如果无法分割,则输出 0。
输入格式
程序先读入两个整数 m n 用空格分割 (m,n<10)。
表示表格的宽度和高度。
接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000。
输出格式
输出一个整数,表示在所有解中,包含左上角的分割区可能包含的最小的格子数目。
样例输入1
3 3
10 1 52
20 30 1
1 2 3
样例输出1
3
样例输入2
4 3
1 1 1 1
1 30 80 2
1 1 1 100
样例输出2
10
/*
很明显是搜索题,根据题意可知起点就是左上角那个点,a[0][0].问题多解求最优宜用DFS
*/
AC_code:
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
int a[15][15];
bool vis[15][15];
int n,m,sum,minLen;
int step_x[] = {-1,1,0,0},step_y[] = {0,0,-1,1};//上下左右四个方向
void DFS(int x,int y,int count,int aim)
{vis[x][y] = true;if(aim > sum/2)//可行性剪枝return ;if(aim == sum/2){if(count < minLen)minLen = count;return ;}for(int i = 0; i < 4; i++){int xx = x + step_x[i];int yy = y + step_y[i];if(!vis[xx][yy]&&xx>=0&&xx<n&&yy>=0&&yy<m){DFS(xx,yy,count+1,aim+a[xx][yy]);vis[xx][yy] = false;}}
}
int main()
{cin>>m>>n;for(int i = 0; i < n; i++){for(int j = 0; j< m; j++){cin>>a[i][j];sum += a[i][j];}}if(sum&1)cout<<"0"<<endl;else{minLen = INF;DFS(0,0,1,a[0][0]);if(minLen != INF)cout<<minLen<<endl;elsecout<<"0"<<endl;}return 0;
}
蓝桥杯历届试题 剪格子 (DFS)相关推荐
- 蓝桥杯 历届试题 剪格子
历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB问题描述 如下图所示,3 x 3 的格子中填写了一些整数.+--*--+--+ |10* 1|52| +--****--+ |20|30* ...
- 蓝桥杯历届试题 剪格子
#include #include using namespace std; int a[10][10];//用来存放每行每列的数字 int dx[4] = {0,1,0,-1}; //可以在二维方格 ...
- 蓝桥杯c语言试题幸运数,蓝桥杯 历届试题 幸运数 dfs
时间限制:1.0s 内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...
- [蓝桥杯][历届试题]网络寻路-dfs,图的遍历
题目描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...
- 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...
Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...
- 1432: 【蓝桥杯】:剪格子(迷宫问题变体)
注意输入: m表示宽度,n表示高度(m表示列,n表示行) dfs: 从左上角开始走迷宫,如果走过路径的和为SUM/2,记录走过数字个数 求走过数字的最小值 代码: #include<iostre ...
- 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索
问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...
- 蓝桥杯历届试题代码参考
蓝桥杯历届试题代码参考 历届试题 核桃的数量 打印十字图 带分数 剪格子 错误票据 翻硬币 连号区间数 买不到的数目 大臣的旅费 幸运数 横向打印二叉树 危险系数 网络寻路 高僧斗法 格子刷油漆 农场 ...
- 问题 1433: [蓝桥杯][历届试题]危险系数(并查集and暴力)
问题 1433: [蓝桥杯][历届试题]危险系数 时间限制: 1Sec 内存限制: 128MB 提交: 123 解决: 39 题目描述 问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的 ...
最新文章
- mlcc激光雷达与相机外参标定初体验
- Yann LeCun“隔纸对话”黄铁军:图灵机上的深度学习能模拟世界吗?
- html自动兼容像素密度,解决 HTML Canvas 元素在高像素密度/高分辨率屏幕上显示模糊的问题...
- 全套CRC校验的算法
- SQL SERVER 打开脚本报“未能完成操作,存储空间不足”
- sqlserver2008r2安装
- sql语句中的in用法示例_示例中JavaScript in操作符
- Windows修改远程桌面端口方法步骤
- PHP重建索引数组的键值
- 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题
- SharePoint Excel Service-PowerShell
- 常用的对联广告带关闭功能
- 报错:error LNK2001:unresolved external symbol _WinMain@16
- Unity 3D 游戏引擎
- 电脑PC端实现微信多开
- 将VBS脚本编译成加密版本的VBE脚本
- 【BZOJ 3993】【SDOI 2015】星际战争
- 单芯片快速以太网MAC控制器DM9000介绍续
- 台式计算机耗电,台式电脑和笔记本耗电量对比,分别是多少?
- 苹果WWDC将于6月8日夏季发布会苹果WWDC发布会直播地址
热门文章
- List(Map(String, Object))转为Fastjson JSONArray
- 懒人必备!只需一行代码,就能导入所有的Python库
- 绝!关于pip的15个使用小技巧
- 特斯拉员工入职3天就“偷”代码,悄悄备份6300多Python脚本
- 科技公司最爱的 50 款开源工具,你都用过吗?
- 电脑打字手指正确姿势_正确的投篮姿势教学,许多人都忽略的细节,学会变投篮神射手...
- 张雪峰计算机科学与技术学什么,张雪峰看好的三大专业是什么 前景好的专业...
- 深度学习-线性回归基础-02
- 云服务器共享文件如何访问权限,怎么设置共享文件夹访问权限?
- linux ftp站点名称,Linux ftp命令的使用方法有哪些