BZOJ 1193 搜索+贪心
2016-10-14 00:28
260 查看
预处理出100*100以内的最优解
贪心走日
判断是0*4还是2*4
搞定
贪心走日
判断是0*4还是2*4
搞定
//By SiriusRen #include <queue> #include <cstdio> #include <algorithm> using namespace std; int sx,sy,ex,ey,vis[105][105],ans; char xx[]={2,2,1,1,-1,-1,-2,-2},yy[]={1,-1,2,-2,2,-2,1,-1}; bool check(int x,int y){ return x>=1&&x<=100&&y>=1&&y<=100; } void BFS(){ queue<pair<int,int> >q; q.push(make_pair(50,50)); vis[50][50]=1; while(!q.empty()){ int dx=q.front().first,dy=q.front().second;q.pop(); for(int i=0;i<8;i++){ int tx=dx+xx[i],ty=dy+yy[i]; if(check(tx,ty)&&!vis[tx][ty]){ vis[tx][ty]=vis[dx][dy]+1; q.push(make_pair(tx,ty)); } } } } int main(){ scanf("%d%d%d%d",&sx,&sy,&ex,&ey); BFS(); int rx=abs(sx-ex),ry=abs(sy-ey); while(rx+ry>50){ if(rx<ry)swap(rx,ry); if(ry>2)rx-=4,ry-=2; else rx-=4; ans+=2; } ans+=vis[rx+50][ry+50]; printf("%d\n",ans-1); }
相关文章推荐
- BZOJ 1193 搜索+贪心
- BZOJ 1193 马步距离(贪心 乱搞)
- 【BZOJ1975】【SDOI2010】魔法猪学院(搜索,A*,贪心)
- 【bzoj1193】【HNOI2006】【马步距离】【贪心+bfs】
- bzoj 1193: [HNOI2006]马步距离(贪心+BFS)
- [BZOJ 1052] 覆盖问题 二分+搜索(DFS)+贪心
- [BZOJ1193][HNOI2006]马步距离(贪心+BFS)
- bzoj 1193 贪心
- 【BZOJ4325】NOIP2015 斗地主 搜索+贪心
- 1193: [HNOI2006]马步距离 (贪心+搜索)
- [BZOJ1193][HNOI2006]马步距离 大范围贪心小范围爆搜
- bzoj 1193 贪心+bfs
- BZOJ1193 马步距离 (贪心)
- [BZOJ1193][HNOI2006]马步距离(贪心+dfs)
- hdu5113 贪心搜索 2014ACM/ICPC亚洲区北京站 B题 Black And White
- BZOJ 1572 贪心(priority_queue)
- bzoj 2697 特技飞行 贪心
- 【BZOJ4580】[Usaco2016 Open]248【区间DP】【或 贪心】
- 【BZOJ】1045 [HAOI2008] 糖果传递 && 3293 [Cqoi2011]分金币 贪心
- bzoj 2697: 特技飞行 贪心