博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客寒假算法基础集训营5 I:炫酷镜子(模拟 or 记忆化搜索)+D:炫酷路途(贪心求最短路)
阅读量:3898 次
发布时间:2019-05-23

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

【题目】

【题解】

模拟或者记忆化搜索都可以,时间复杂度O(NM)。

【模拟】

#include
using namespace std;int dx[]={-1,1,0,0}; //上,下,左,右int dy[]={0,0,-1,1};int main(){ int n,m; char mp[505][505]; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",mp[i]+1); int x,y,ans,t; for(int i=1;i<=m;i++) { x=1,y=i,ans=-1,t=1; while(x>0&&x<=n&&y>0&&y<=m) { if(mp[x][y]=='\\') t=(t+2)%4; else if(mp[x][y]=='/') t=3-t; x+=dx[t],y+=dy[t]; //printf("x=%d,y=%d\n",x,y); if(x==n+1) ans=y; } printf("%d\n",ans); } return 0;}

【记忆化搜索】

#include
using namespace std;int n,m;char mp[505][505];int dfs(int x,int y,int dx,int dy){ if(x==n+1) return y; if(x==0||y==0||y==m+1) return -1; if(mp[x][y]=='.') return dfs(x+dx,y+dy,dx,dy); if(mp[x][y]=='/') return dfs(x-dy,y-dx,-dy,-dx); return dfs(x+dy,y+dx,dy,dx);}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",mp[i]+1); for(int i=1;i<=m;i++) printf("%d\n",dfs(1,i,1,0)); return 0;}

【题目】

【题解】

贪心,每次走2^p肯定比每次走1快,然后就用2^p走法与传送法阵走法进行比较,从u到v是用2^p走法还是传送法阵走法比较快。

【贪心】

#include 
using namespace std;typedef long long ll;ll a[35];void init(){ a[0]=1; for(int i=1;i<=30;i++) a[i]=a[i-1]*2;}ll cul(ll u,ll v) //2^p走法{ ll sum=0; while(u
=0;i--) if(u+a[i]<=v) { u+=a[i]; sum++; break; } return sum;}int main(){ init(); ll n; int k; scanf("%lld%d",&n,&k); ll ans; ans=cul(1,n); while(k--) { int u,v; scanf("%d%d",&u,&v); if(u==v) continue; if(u>v) swap(u,v); ans=min(ans,cul(1,u)+cul(v,n)+1); } printf("%lld\n",ans); return 0;}

 

转载地址:http://lfben.baihongyu.com/

你可能感兴趣的文章
Nginx流量复制/AB测试/协程
查看>>
使用NTP服务器完美解决VMware Linux时间无法同步问题
查看>>
机器学习笔记(3)---K-近邻算法(1)---约会对象魅力程度分类
查看>>
机器学习笔记(4)---K-近邻算法(2)---使用sklearn中的KNN算法
查看>>
数据结构——外部排序
查看>>
UNIX网络编程——System V 消息队列
查看>>
信号量、互斥锁,读写锁和条件变量的区别
查看>>
UNIX网络编程——Posix共享内存区和System V共享内存区
查看>>
js循环语句
查看>>
js中时钟的写法
查看>>
js事件冒泡
查看>>
京东金融曹鹏:通过JDD大赛,实现“比你更懂你”的极致价值,让金融更简单,更平等
查看>>
HTML我的家乡杭州网页设计作业源码(div+css)~ HTML+CSS网页设计期末课程大作业 ~ web前端开发技术 ~ web课程设计网页规划与设计 ~HTML期末大作业
查看>>
HTML网页设计期末课程大作业~动漫樱桃小丸子5页表格div+css学生网页设计作业源码
查看>>
HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
查看>>
web课程设计网页规划与设计~在线阅读小说网页共6个页面(HTML+CSS+JavaScript+Bootstrap)
查看>>
HTML期末大作业~棋牌游戏静态网站(6个页面) HTML+CSS+JavaScript
查看>>
XmlValidationModeDetector源码分析
查看>>
解析 xml 为Document
查看>>
中国银行2013年校园招聘机试回忆录(综合部分专业题 考点)
查看>>