题目

题目描述

由于不能与Garfield和睦相处,Odie决定逃亡。不幸的他逃到了一个矩形湖泊。湖泊的长为N,宽为M,初始时Odie位于位置(1,1)。Garfield想要知道可怜的Odie有到达位置(NM)的最短路径条数(不能跳出湖泊边界)。另外,神奇的Odie移动方式类似国际象棋的骑士。
 

输入

两个整数N和M,表示湖泊的长和宽。

输出

一个整数,表示最短路径的条数(模9901输出即可)。

输入样例复制

3 3

输出样例复制

2

说明

对于50%的数据,N ≤ 5,
对于100%的数据,N ≤ 100。

分析

直接最短路?但记录路径要开数组

代码

 1 #include<iostream>
 2 #include<queue>
 3 #include<cstring>
 4 using namespace std;
 5 int n,m;
 6 int vis[1001][1001],dis[1001][1001],ans[1001][1001];
 7 int fx[9][2]={{0,0},{1,2},{2,1},{-1,-2},{-2,-1},{1,-2},{-1,2},{-2,1},{2,-1}};
 8 void bfs()
 9 {
10     memset(dis,0x3f,sizeof(dis));
11     queue<int> q;
12     q.push(1); q.push(1); vis[1][1]=1; dis[1][1]=0; ans[1][1]=1;
13     while(!q.empty())
14     {
15         int x=q.front(); q.pop();
16         int y=q.front(); q.pop();
17         vis[x][y]=0;
18         for (int i=1;i<=8;i++)
19         {
20             int ax=x+fx[i][0],ay=y+fx[i][1];
21             if (ax<1||ay<1||ax>n||ay>m) continue;
22             if (dis[ax][ay]>dis[x][y]+1)
23             {
24                 dis[ax][ay]=dis[x][y]+1;
25                 if (!vis[ax][ay])
26                 {
27                    vis[ax][ay]=1;
28                    q.push(ax); q.push(ay);
29                 }
30                 ans[ax][ay]=ans[x][y];
31             }
32             else if (dis[ax][ay]==dis[x][y]+1)
33               ans[ax][ay]=(ans[x][y]+ans[ax][ay])%9901;
34         }
35     }
36 }
37 int main ()
38 {
39     cin>>n>>m;
40     bfs();
41     cout<<ans[n][m];
42 }

转载于:https://www.cnblogs.com/zjzjzj/p/11311978.html

SSLOJ 1338.逃亡路径相关推荐

  1. 以太坊geth结构解析和源码分析

    原文地址: http://blog.csdn.net/DDFFR/article/details/74389051 第一部分 看看geth客户端的整体结构  创建私链的时候已经指定所有的信息都放在pr ...

  2. 欢乐ssl暑假赛【2019.8.6】

    前言 莫得前言 成绩 JJJ表示初中,HHH表示高中后面加的是几年级,只放前10 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC ...

  3. 2019年8月6日本地题库提高组 gcd+LIS+单调队列优化+bfs+?

    文章目录 A 蛋糕切割 B 膜拜神牛 C 矩形统计 D 逃亡路径 E 矩形反色 希望我们都能像对方一样勇敢.--蒋丞 A 蛋糕切割 Garfield非常喜欢巧克力蛋糕.奇怪的是,她把蛋糕分成了N行M列 ...

  4. Windows版nacos启动报错(nacos安装路径问题)

    文章目录 1.出错日志 2.出错原因 3.解决方案 1.出错日志 Error starting ApplicationContext. To display the conditions report ...

  5. HDU 1253.胜利大逃亡

    胜利大逃亡 Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u SubmitStatusP ...

  6. Spring配置JPA的xml路径的问题

    在Spring的配置文件中配置JPA的路径为/META-INF/persistence.xml,如下 <bean id="entityManagerFactory" clas ...

  7. HDU-1429 胜利大逃亡(续)

    A - 胜利大逃亡(续) Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  8. HDOJ1429(胜利大逃亡(续))

    胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  9. 负载大逃亡:四十二路怪兽联军及七条逃生法则(很喜欢)

    负载大逃亡:四十二路怪兽联军及七条逃生法则 摘要:横向扩展与纵向扩展帮助我们处理了大量的高负载问题,然而优秀的程序设计仍然是不可忽视的.一个有设计缺陷的应用程序在低负载情况下可能表现不出来,然而随着负 ...

最新文章

  1. Thinkphp 源码分析
  2. 台式计算机无线网卡,台式机用无线网卡,详细教您台式机怎么用无线网卡
  3. Kuskal/Prim POJ 1789 Truck History
  4. 入门训练 A+B问题 c语言
  5. Broadcast简单使用
  6. python paramiko invoke_shell_Python,paramiko,invoke_shell和丑陋的字符
  7. hadoop---(1)hadoop核心知识点总结
  8. 我的docker随笔31:oracle数据库再次部署
  9. 计算机组成与系统结构概述
  10. 61850客户端软件构建
  11. ES3、ES5、ES6、ES2016、ES2017、ES2018、ES2019
  12. 计算机中year函数怎么使用,excel2010中YEAR函数的使用方法
  13. 高分子专业计算机建模,高分子与计算机模拟.doc
  14. 团队作业8----第二次项目冲刺(Beta阶段) 第一天
  15. Typora1.0.2 + SMMS上传图片
  16. 迭代需求文档规范(模板)
  17. TI的C28x系列芯片的存储结构(1)——总括
  18. 计算机中的英语六级作文万能模板,英语六级作文万能模板句子
  19. 三级分销系统到底是什么模式,三级分销特点
  20. notebook pip install 只有星号_奇闻!他找马未都鉴宝,马未都:此盘子全世界只有三个,你的是第四个!...

热门文章

  1. ASP.NET MVC TagBuilder使用
  2. OFBiz + Opentaps 目录管理 六. 产品目录
  3. filegee为啥没变动也更新_小米miui12中谷歌商店无法更新油管和下载Twitter的问题...
  4. windows 打开exe传参_“以管理员身份运行”,这个打开软件时经常遇到的问题,有何含义...
  5. 动态RAM的集中刷新、分散刷新、异步刷新
  6. c语言编写一个多位数的倒数
  7. 测试用例集-11.QQ表情收藏功能测试用例
  8. 如何理解皮尔逊相关系数(Pearson Correlation Coefficient)?
  9. pytorch教程:Flatten类实现的模版
  10. SAP License:跨行如何转入SAP