T84341 Jelly的难题1

题解

当窝发现窝的锅在读入这个矩阵的时候,窝。。窝。。窝。。

果然,一遇到和字符串有关的题就开始吹空调

好啦我们说说思路吧

BFS队列实现

拿出一个没有走过的点,扩展它可以达到的节点,那么它可以到达的节点的到达时间就等于它父节点到达时间+1

代码

#include<bits/stdc++.h>

using namespace std;

const int mod=;
int n,m,sx,sy,t;
long long much;
char ju[][];
int vis[][];
int dis[][]; int dx[]={-,,,};
int dy[]={,-,,}; struct node
{
int x,y;
}; queue<node>q; int main()
{
scanf("%d%d\n",&n,&m);
memset(vis,-,sizeof(vis));
memset(dis,,sizeof(dis)); for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
cin>>ju[i][j]; //我的锅就在这里QWQ if(ju[i][j]=='*')
{
sx=i;sy=j;
vis[i][j]=;
}
if(ju[i][j]=='o')
vis[i][j]=;
if(ju[i][j]=='#')
vis[i][j]=;
} node h;
h.x =sx;h.y =sy;
q.push(h); while(!q.empty())
{ node now=q.front();
q.pop();
t=max(t,dis[now.x][now.y]); for(int i=;i<=;i++)
{
int xx=now.x +dx[i];
int yy=now.y +dy[i];
if(vis[xx][yy]==)
{
dis[xx][yy]=dis[now.x ][now.y ]+;
vis[xx][yy]=;
node h;
h.x =xx;
h.y =yy;
q.push(h);
}
}
} for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
if(dis[i][j]!=)
{
dis[i][j]=t-dis[i][j]+;
much=(much%mod+dis[i][j]%mod)%mod;
} } printf("%d\n",t);
printf("%ld\n",much); return ;
}

T84341 Jelly的难题1的更多相关文章

  1. 【6.28校内test】T1 Jelly的难题1

    Jelly的难题[题目链接] 废话一句:今天中考出成绩,感觉大家考的都超级棒,不管怎样,愿大家成为最好的自己. 好了废话完了,下面是题解部分: SOLUTION: 首先你可能发生的,是看不懂题: 定睛 ...

  2. 2019.6.28 校内测试 T1 Jelly的难题1

    这题面有点难理解,建议直接跳到题意解释那一部分(虽然我觉得解释的不大对,但按照解释来做确实能AC): 按照“题意解释”的思路来思考这个题,那么就十分的简单了: 1.首先要读入这个字符矩阵,可以用cin ...

  3. MY TESTS

    励志整理所有的n次考试的博客: [五一qbxt]test1 [五一qbxt]test2 [校内test]桶哥的问题 [6.10校内test] noip模拟 6.12校内test [6.12校内test ...

  4. 蒲公英 · JELLY技术周刊 Vol.03

    蒲公英 · JELLY技术周刊 Vol.03 「蒲公英」期刊全新升级--JELLY技术周刊!深度挖掘业界热点动态,来自团队大咖的专业点评,带你深入了解团队研究的技术方向. 登高远眺 天高地迥,觉宇宙之 ...

  5. 蒲公英 · JELLY技术周刊 Vol.13 跟 VSCode 学习如何开发大型 IDE 项目

    开发一个 IDE 很难么?这或许是件很难的事情,但当我们参考 VSCode 的技术构架来看,整个开发流程就会平滑顺畅很多,从内核开发.代码编辑器.视图结构到插件系统,在这整个技术构架中我们可以看到很多 ...

  6. 蒲公英 · JELLY技术周刊 Vol.33: 前端基础课堂开课啦~

    蒲公英 · JELLY技术周刊 Vol.33 页面文件太大?图片过大了吧:页面加载白屏?很有可能是字体文件还没加载完:页面加载时间过长?多半是主进程被阻塞--该怎么办呢?快来小葵,咳咳,「蒲公英」前端 ...

  7. 深入super,看Python如何解决钻石继承难题 【转】

    原文地址 http://www.cnblogs.com/testview/p/4651198.html 1.   Python的继承以及调用父类成员 python子类调用父类成员有2种方法,分别是普通 ...

  8. 探讨webapp的SEO难题(上)

    前言 网络蜘蛛无法解析javascript,至少百度是不能的,神马搜索差的更远,而我们的webapp的渲染展示完全由javascript驱动 所以蜘蛛访问webapp页面会得到一个白页面,比如,我们期 ...

  9. hduoj 1251 统计难题

    http://acm.hdu.edu.cn/showproblem.php?pid=1251 统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory ...

随机推荐

  1. GO语言(golang)官方网站!

    GO语言官方网站,在上面可以查看所有API文档.使用在线工具编写程序,你可以去看看!! https://golang.org/

  2. copy模块与fetch模块

    copy:将本地机器上的文件拷贝到远程机器 fetch:将远程机器上的文件拷贝到本地机器 [root@localhost zabbix]# ansible-doc -s copy - name: Co ...

  3. linux系统使用grep命令提取文件的基名或者路径名

    效果等于~]#dirname /etc/sysconfig/network-scripts/ifcfg-ens33 echo "/etc/sysconfig/network-scripts/ ...

  4. composer问题集锦

    问题一:composer遇到Your configuration does not allow connection to 解决方案: 设置一个本地或全局的composer配置: composer c ...

  5. html和css牛刀小试

    html和css网上教程很多,这里我也给大家一个网址:https://www.cnblogs.com/majj/ 今天心血来潮就模仿着小米的官网写了部分代码,效果图如下:(本人故意加了个华为广告栏在最 ...

  6. kotlin面向对象之抽象类、继承、多态

    继承: 比较简单,直接看如何使用,这里以父亲与儿子的关系为例: 接着定义儿子并且继承父亲,如下: 是用":"号来继承的,但是此时报错了,看下错误提示: 在kotlin的类并非是人人 ...

  7. DevExpress ASP.NET Bootstrap v19.1版本亮点:Scheduler控件

    行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Bootstrap Controls中Rich Text ...

  8. vue中的各种属性

    data new vue({ data:{ 'a':1 } }) 是一个实例,data直接是一个对象 vue.component('my',{ template:'', props:['title'] ...

  9. maven在eclipse运行命令和calss文件没有更新的问题

    使用Eclipse Maven插件[Run As]-[Maven build]时并未为其指定goal或phase 解决方法:  1.使用Eclipse Maven插件[Run As]-[Maven b ...

  10. HTML DOM 事件与方法

    HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序. 事件通常与函数结合使用,函数不会在事件发生前被执行! (如用户点击按钮). 鼠标事件 键盘事件 框架/对象(F ...