http://acm.hdu.edu.cn/showproblem.php?pid=1428

dijstra+dp;

 #include <cstdio>
#include <queue>
#include <cstring>
#include <algorithm>
#define maxn 100
#define ll __int64
using namespace std;
const int inf=<<; int g[maxn][maxn];
bool vis[maxn][maxn];
ll dis[maxn][maxn];
ll dp[maxn][maxn];
int n;
int dir[][]={{,},{,-},{,},{-,}};
struct node
{
int x,y,w;
bool friend operator <(node a,node b)
{
return a.w>b.w;
}
}st1,st; void dijstra(int x,int y)
{
memset(vis,false,sizeof(vis));
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
dis[i][j]=inf;
}
}
priority_queue<node>q;
st.x=x;
st.y=y;
st.w=g[x][y];
dis[x][y]=g[x][y];
q.push(st);
while(!q.empty())
{
st1=q.top();q.pop();
if(vis[st1.x][st1.y]) continue;
vis[st1.x][st1.y]=true;
for(int i=; i<; i++)
{
int xx=st1.x+dir[i][];
int yy=st1.y+dir[i][];
if(xx>=&&xx<n&&yy>=&&yy<n&&!vis[xx][yy])
{
if(dis[st1.x][st1.y]+g[xx][yy]<dis[xx][yy])
{
dis[xx][yy]=dis[st1.x][st1.y]+g[xx][yy];
st.x=xx;
st.y=yy;
st.w=dis[xx][yy];
q.push(st);
}
}
}
}
} ll dfs(int x,int y)
{
if(dp[x][y]) return dp[x][y];
for(int i=; i<; i++)
{
int x1=x+dir[i][];
int y1=y+dir[i][];
if(x1>=&&x1<n&&y1>=&&y1<n&&dis[x1][y1]<dis[x][y])
dp[x][y]+=dfs(x1,y1);
}
return dp[x][y];
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
memset(g,,sizeof(g));
for(int i=; i<n; i++)
{
for(int j=; j<n; j++)
{
scanf("%d",&g[i][j]);
}
}
dijstra(n-,n-);
memset(dp,,sizeof(dp));
dp[n-][n-]=;
printf("%I64d\n",dfs(,));
}
return ;
}

最新文章

  1. matlab 假设检验
  2. centos7
  3. iOS 更改webView文字颜色丶文字大小丶背景色的方法
  4. php null o false &#39;&#39;
  5. SQL总结(七)查询实战
  6. MVC5为WebAPI添加命名空间的支持
  7. CodeForces 384A Coder
  8. Lucas定理学习小记
  9. 【创建本地仓库】【for Centos】CentOS下创建本地repository
  10. Sublime Text 3 若干问题解决办法
  11. Pythoner | 你像从前一样的Python学习笔记
  12. Lambda表达式例子
  13. 如何在 Centos7 中安装 nginx
  14. Python2/3中的urllib库
  15. 《android开发艺术探索》读书笔记(二)--IPC机制
  16. 封装一个简易版的ajax操作对象
  17. HTMLTestRunner 美化版本
  18. Debug 路漫漫-07
  19. QQ群成员发言次数统计(正则表达式版)
  20. 自学Linux Shell15.1-处理信号

热门文章

  1. ORA-16014报错解决
  2. HttpAsyncClient 的简单使用
  3. BZOJ3144 切糕
  4. 转:关于rename命令ubuntu下的用法
  5. php curl 中的gzip压缩性能测试
  6. mysql导入到elasticsearch
  7. POJ 1631 Bridging signals DP(最长上升子序列)
  8. [置顶] Application,Session,Cookie之Application对象
  9. What is NetApp&#39;s Cluster File System?
  10. hdu 2822 Dogs(优先队列)