博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017普及组第三题 洛谷P3957 跳房子(解题报告)
阅读量:5837 次
发布时间:2019-06-18

本文共 685 字,大约阅读时间需要 2 分钟。

中文题我就不解释题意了。

思路:很明显这个棋盘很小,只有10000个格子,那么n平方的算法就能过了,那就直接dfs暴力,可以加一个小优化,如果当前使用的钱币已经大于之前所算的最小钱币数,就不继续往下算了。

程序

using namespace std;const int dx[]={-1,0,1,0},dy[]={
0,-1,0,1};const int maxn=110,maxm=1e9+7;int dp[maxn][maxn],mp[maxn][maxn];int m,n,ans=maxm;void dfs(int x,int y,int sum,bool flag){ if(x<1 || y<1 || x>m || y>m) return; if(!mp[x][y]) return; if(sum>=dp[x][y]) return; dp[x][y]=sum; if(x==m && y==m) { if(sum
>m>>n; for(int i=1;i<=n;i++) { int x,y,c; cin>>x>>y>>c; mp[x][y]=c+1; } dfs(1,1,0,0); if(ans==maxm) cout<<-1; else cout<

转载于:https://www.cnblogs.com/NightRaven/p/9333243.html

你可能感兴趣的文章
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
第一次作业 4班卢炳武
查看>>
const int * 与 int *const
查看>>
抽象类的调用
查看>>
使用硬盘,安装双系统,Win7+CentOS
查看>>
Javascript学习总结
查看>>
JS 操作Excel格式
查看>>
php 用正则替换中文字符一系列问题解决
查看>>
ActiveMQ应用笔记一:基本概念&安装
查看>>
SAE+Java+jetty
查看>>
大话数据结构之四(串)
查看>>
加热炉简是新来的整个系统的板
查看>>
Mockito使用注意事项
查看>>
[LeetCode] Palindrome Linked List 回文链表
查看>>
UVA - 825Walking on the Safe Side(dp)
查看>>
android大概是通过logcat拦截Log
查看>>
android HDMI 清晰度 分辨率
查看>>
JQuery发送Put、Delete请求 - 摘自网络
查看>>
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>