[蓝桥杯][2013年第四届真题]剪格子

2023-11-11

一定要好好审题啊!!!行号和列号跟题意要求的搞反了,结果de到怀疑人生了。。。

这个题给的数据量不大,所以我就放心大胆的在每个中间节点里各开了一个vis标记数组,用来记录每一条广搜路径走过的节点。

 

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <cmath>
#include <algorithm>
#include <set>
#include <queue>
#include <string>
#include <map>
#include <stack>
#define MAXN 12
#define MOD 1000000009
#define INF 0x7ffffff
#define lowbit(x) (x)&(-x)

using namespace std;

int n,m;
int edge[MAXN][MAXN];
int dir[4][2] = {0,1,1,0,0,-1,-1,0};
int sum;

struct Node{
    int x,y;
    int vis[MAXN][MAXN];
    int sum;
    int step;
    Node(int x,int y,int sum,int step):x(x),y(y),sum(sum),step(step){
        memset(vis,0,sizeof(vis));
    }
    Node(){}
};

queue<Node> que;

int BFS(int x,int y){
    Node head(x,y,edge[x][y],1);
    head.vis[x][y] = 1;
    que.push(head);
    while(!que.empty()){
        head = que.front();
        que.pop();
        if(head.sum == sum/2){
            return head.step;
        }
        for(int i=0;i<4;++i){
            int tx = head.x + dir[i][0];
            int ty = head.y + dir[i][1];
            if(tx < 0 || tx >= n || ty < 0 || ty >= m || head.vis[tx][ty]) continue;
            Node node(tx,ty,head.sum+edge[tx][ty],head.step+1);
            memcpy(node.vis,head.vis,sizeof(head.vis));
            node.vis[tx][ty] = 1;
            que.push(node);
        }
    }
    return 0;
}

inline void init(){
    sum = 0;
    while(!que.empty()) que.pop();
}

int main(){
    while(cin >> m >> n){
        init();
        for(int i=0;i<n;++i){
            for(int j=0;j<m;++j){
                cin >> edge[i][j];
                sum += edge[i][j];
            }
        }
        if(sum&1) cout << 0 << endl;
        else cout << BFS(0,0) << endl;
    }
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[蓝桥杯][2013年第四届真题]剪格子 的相关文章

  • Altium Designer---PCB覆铜镂空

    AD版本 AD18 转到PCB界面 如下 在PCB页面切换到你想挖空区域所在图层 比如我这里想要挖空Top Layer和Bottom Layer 先切换到Top Layer 右击选择 多边形覆铜挖空 然后在PCB上绘制出想要挖空的区域 如下
  • Java 校验注解的使用、自定义校验注解

    文章目录 一 引入依赖 二 基本校验 1 常用校验注解 2 自动校验 3 代码中获取校验结果 三 嵌套校验 四 分组校验 五 单属性自定义校验规则 1 功能 只能取枚举的值 六 多属性自定义联合校验规则 1 功能 不同优惠券类型校验不同参数
  • Acwing796.子矩阵的和

    理解二维前缀和 include
  • 如何看待过去,决定了你的命运

    一 决定我们自身的不是过去的经历 而是我们自己赋予经历的意义 多年以来 听了太多 好的家庭养育出来的孩子 一生都在温暖他人 坏的家庭养育出来的孩子 一辈子都在找到自己需要的温暖 在各个新闻中也确实有非常多 因为少年时被恶意对待 从而导致无法
  • gc 调优

    文章目录 Xloggc xxx logs xxx gc t log XX UseGCLogFileRotation XX NumberOfGCLogFiles 10 XX GCLogFileSize 20M XX PrintGCDetail
  • Node Sass does not yet support your current environment解决办法

    在启动Nodejs项目时出现以下Error Error Node Sass does not yet support your current environment Linux 64 bit with Unsupported runtim
  • Python基础概念

    什么是Python Python是什么 首先我们先来看百度百科对于Python的解释 由此可见 我们知道了python是一门编程语言 Gudio van Rossum 就是Python这门语言的祖师爷 Python发展历程简介 接下来我们来
  • Python——迭代器

    迭代器 迭代是Python最强大的功能之一 是访问集合元素的一种方式 迭代器是一个可以记住遍历的位置的对象 迭代器对象从集合的第一个元素开始访问 直到所有的元素被访问完结束 迭代器只能往前不会后退 迭代器有两个基本的方法 iter 和 ne
  • matlab pburg,现代数字信号处理——AR模型

    1 AR模型概念观 AR模型是一种线性预测 即已知N个数据 可由模型推出第N点前面或后面的数据 设推出P点 所以其本质类似于插值 其目的都是为了增加有效数据 只是AR模型是由N点递推 而插值是由两点 或少数几点 去推导多点 所以AR模型要比
  • Python内置函数filter用法小结

    filter被称为高阶函数是有道理的 filter self args kwargs Docstring filter function or None iterable gt filter object Return an iterato
  • MySQL基础篇-第18章_MySQL8其它新特性

    第18章 MySQL8其它新特性 讲师 尚硅谷 宋红康 江湖人称 康师傅 官网 http www atguigu com 1 MySQL8新特性概述 MySQL从5 7版本直接跳跃发布了8 0版本 可见这是一个令人兴奋的里程碑版本 MySQ
  • Android Studio实现智能聊天机器人

    项目目录 一 需求分析 1 业务需求分析 2 模型需求分析 3 界面需求分析 二 开发环境 三 聊天功能业务实现 1 申请机器人身份标识 2 搭建聊天界面布局 3 搭建聊天条目布局 4 封装聊天信息实体类 5 编写聊天列表适配器 6 实现智
  • C++11多线程std::thread的简单使用

    文章转载自http blog csdn net star530 article details 24186783 在cocos2dx 2 0时代 我们使用的是pthread库 是一套用户级线程库 被广泛地使用在跨平台应用上 但在cocos2
  • SQL--多表查询(多表联查,如:LEFT JOIN、LEFT JOIN、LEFT JOIN、UNION ALL等)

    1 常见多表连接的三种方式 LEFT JOIN 左连接 查询左表所有数据和右表与左表属性值相等的记录 SELECT FROM TABELONE A LEFT JOIN TABELTWO B ON A id B id RIGHT JOIN 右
  • MySQL索引和性能优化

    索引 MySql底层的数据结构主要是基于Hash 和 B Tree 如果一个B tree的树高时3的话 那么非叶子节点2层 叶子节点1层 非叶子节点 16 1024 8 6 1170 非叶子节点两层 1170个元素 如果是两层 那么元素数量
  • logback和slf4j的使用之encoder和Layout

    一 encoder介绍 1 encoder 主要工作有两个 将一个event事件转换成一组byte数组 将转换后的字节数据输出到文件中 2 encoder组件是在0 9 19版本之后才引进来的 在以前的版本中 appender是使用layo
  • 计算sinx=x-x^3/3!+x^5/5!-x^7/7!+.........

    计算sinx x x 3 3 x 5 5 x 7 7 include stdio h include stdlib h include string h include math h int main float sum t int i x
  • Driver not loaded Driver not loaded(QT打包后在别人的电脑上运行出现这个错误)解决方法

    Driver not loaded Driver not loaded QT打包后在别人的电脑上运行出现这个错误 解决方法 出现这个错误 导致的原因有很多 所以不妨先试试我找的这种解决方法 我也是试过了很多方法 这种方法也许不适合所有人的错
  • 微信小程序 live-pusher 实时音视频录制 组件

    完整微信小程序 Java后端 技术贴目录清单页面 必看 实时音视频录制 v2 9 1 起支持同层渲染 需要用户授权 scope camera scope record 暂只针对国内主体如下类目的小程序开放 需要先通过类目审核 再在小程序管理

随机推荐

  • HTB-Tier2- Unified

    HTB Tier2 Unified Tags Web Vulnerability Assessment Databases Injection Custom Applications Outdated Software MongoDB Ja
  • Element ‘aop:before‘ must have no character or element information item [children], because

    报错的XML配置
  • centos8用阿里云安装yum源

    Centos8用阿里云装yum源 首先ping外网 ping baidu com能通就可以开始做了 阿里云yum源设置官方文档 https developer aliyun com mirror centos spm a2c6h 13651
  • Blender几个简单建模

    吉普车 这里车窗添加了玻璃材质 看起来更真实 简易台灯 可以设置成自己喜欢的形状 颜色 酒瓶 这是还没有上色的 啤酒瓶大多数都是绿色的 一把红色的椅子 个人喜欢红色系列的 就添加了红色 以上都是简单的模型 初学者还需要继续努力
  • Ajax&JavaScript&css模仿百度一下模糊查询功能

    1 效果 如下图所示 我们在输入大学时 程序会到后端查询名字中包含大学的数据 并展示到前端页面 用户选择一个大学 该大学值会被赋值到input表单 同时关闭下拉表单 当页面展示的数据都不符合条件时 用户点击空白处 可关闭表单 2 前端 2
  • 微信小程序案例分享

    微信小程序 后台管理类 1 社区团购小程序 2 音乐播放器小程序 3 家具商城小程序 4 二手交易小程序 5 疫苗小程序 6 智慧停车小程序 7 读书小程序 8 美食小程序 前后端分类 管理后台类 1 企业招聘 2 客户关系管理系统 3 试
  • 敏捷开发中asp.net MVC的开发次序感受(先开发View?先开发Model?先开发Controller!)

    转载自 http blog csdn net cheny com article details 6592493 各种思路和顺序都试过 最开始时先编写Model 毕竟Model是所有一切的基础 再说没有Model Controller里边用
  • 2019年中山大学数据科学与计算机学院研究生统考机试

    2019年中山大学数据科学与计算机学院研究生统考机试题目回忆 本文回忆了2019年中山大学数据科学与计算机学院研究生考试机试题目 希望能对以后的同学的学习有所帮助 机试共十道题 1 继承 一共有3个类 animal cat dog cat和
  • ciscn 2022 misc 部分wp

    everlasting night 提示是注意png数据块 然后注意图片通道数据可以用来lsb解码 下载是一张图片 尝试几种方法之后没有太大发现 得到提示于是看了一下stegsolve f78dcd383f1b574b 这里发现了一串可疑字
  • 90、Tensorflow实现分布式学习,多台电脑,多个GPU 异步试学习

    Created on 2017年5月28日 author weizhen import time import tensorflow as tf from tensorflow examples tutorials mnist import
  • Vue 实现左边导航栏且右边显示具体内容(element-ui)

    最终效果图 现在开始进入正题 1 安装element ui npm i element ui S CDN 目前可以通过 unpkg com element ui 获取到最新版本的资源 在页面上引入 js 和 css 文件即可开始使用
  • 探索人工智能

    前言 模型训练是指使用算法和数据对机器学习模型进行参数调整和优化的过程 模型训练一般包含以下步骤 数据收集 数据预处理 模型选择 模型训练 模型评估 超参数调优 模型部署 持续优化 文章目录 前言 数据收集 数据预处理 模型选择 模型训练
  • Tracy 小笔记 Vue - 路由

    Vue Router 路由中有一个非常重要的概念叫路由表 本质上就是一个映射表 决定了数据包的指向 服务器渲染 后端渲染 如 jsp php java 服务器直接生产渲染好对应的 html 页面 返回到客户端进行展示 这种情况下渲染好的页面
  • java实现截图功能

    java实现截图功能 java实现截图 录屏 public static void main String args throws InterruptedException 截取整个屏幕 保存在H盘下 名字为当前时间毫秒值 格式为png T
  • Unity3D-UI--Layout组件

    Layout组件 自动排版 Layout Group Vertical Layout Group 垂直布局 垂直布局组 组件将其子布局元素彼此重叠 它们的高度由各自的最小高度 首选高度和柔性高度决定 具体取决于以下模型 Vertical L
  • Activity之间的跳转的两种实现方法

    概括 在Android当中 Activity的跳转有两种方法 第一个是利用startActivity Intent intent 的方法 第二个则是利用startActivityForResult Intent intent int req
  • QT添加外部动态库

    编译完动态库 将动态库debug文件夹中的 a和 dll拷贝下来 在window中 dll 动态库 lib 静态库 在linux中 so 动态库 a 静态库 在根目录下新建include 并放入其中 同样的把头文件也放入include中 然
  • 图论基本概念

    文章目录 图 相邻 度 简单图 路径 子图 连通 无向图 有向图 本章概述了图论中的一些概念 部分内容来源于 OI Wiki 图 图 Graph 是一个由 点集 Vertex set 和 边集 Edge set 组成的二元组 常用 G V
  • 哈工大深圳计算机水平怎么样,还原一个真实的哈工大!——十问(转载)

    发信人 hiticeberg 千面怪 信区 NewExpress 标 题 还原一个真实的哈工大 十问 发信站 水木社区 Fri May 30 19 37 50 2008 站内 作为哈工大的土著 也许也是目前连续在校时间最长的哈工大学子 在毕
  • [蓝桥杯][2013年第四届真题]剪格子

    一定要好好审题啊 行号和列号跟题意要求的搞反了 结果de到怀疑人生了 这个题给的数据量不大 所以我就放心大胆的在每个中间节点里各开了一个vis标记数组 用来记录每一条广搜路径走过的节点 include