1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛

Description

经过跟Farmer John长达数年的谈判,奶牛们终于如愿以偿地得到了想要的旱冰鞋。农场上大部分的区域都很平整,适合在上面滑动,但有一些小块的土地上有很多的岩石,凭奶牛们的旱冰技术,是没有办法通过的。 农场可以看成一个被划分成R(1<=R<=113)行C(1<=C<=77)列的矩阵。快要开饭了,贝茜发现自己在坐标为(1,1)的格子里,并且她想赶到坐标为(R,C)的牛棚去享用她的晚饭。贝茜知道,以她所在的格子为起点,每次向上、下、左、右滑动(但不能沿对角线滑动),一定能找到一条通往牛棚的、不经过任何有大量岩石的格子的路。请你为她指出任意一条通往牛棚的路径。

妈的傻逼题做这么长时间,真TM菜。

一开始写Dij写挂了,现在回想就是数组开小了,之后写大法师还T。

正解BFS记录路径,当一个模板记。

code:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>using namespace std;inline int read(){int sum=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0'; ch=getchar();}return sum*f;
}const int wx=517;struct node{int x,y;
};int dx[]={0,1,0,-1,0};
int dy[]={0,0,1,0,-1};int vis[wx][wx];
int a[wx][wx],ansx[wx],ansy[wx];
char c[wx];
int prex[wx][wx];int prey[wx][wx];
int n,m,ans,num,tot,cnt;
int xx[wx],yy[wx],dis[wx][wx];queue<node >q;void bfs(){memset(dis,0x3f,sizeof dis);dis[1][1]=0; q.push((node){1,1});while(q.size()){int ux=q.front().x; int uy=q.front().y;q.pop();for(int i=1;i<=4;i++){int ex=ux+dx[i]; int ey=uy+dy[i];if(ex<1||ex>n||ey<1||ey>m||a[ex][ey])continue;if(dis[ex][ey]>dis[ux][uy]+1){dis[ex][ey]=dis[ux][uy]+1;q.push((node){ex,ey});prex[ex][ey]=ux; prey[ex][ey]=uy;}}}
}int main(){n=read(); m=read();for(int i=1;i<=n;i++){scanf("%s",c+1);for(int j=1;j<=m;j++){a[i][j]=(c[j]=='*');}}bfs();int nowx=n; int nowy=m;while(nowx){ansx[++tot]=nowx; ansy[tot]=nowy;int tmp=nowx;nowx=prex[tmp][nowy]; nowy=prey[tmp][nowy];}for(int i=tot;i>=1;i--){printf("%d %d\n",ansx[i],ansy[i]);}return 0;
}

转载于:https://www.cnblogs.com/wangxiaodai/p/9818834.html

BFS【bzoj1667】: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛相关推荐

  1. bzoj 1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛(BFS)

    1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛 Time Limit: 1 Sec  Memory Limit: 64 MBSec  Special Judge S ...

  2. 【BZOJ】1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛

    Description 经过跟Farmer John长达数年的谈判,奶牛们终于如愿以偿地得到了想要的旱冰鞋.农场上大部分的区域都很平整,适合在上面滑动,但有一些小块的土地上有很多的岩石,凭奶牛们的旱冰 ...

  3. bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛*

    bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛 题意: 求最长单调递增子序列,序列大小≤5000 题解: 蒟蒻弱写了一个O(n^2)的. 代码: 1 #include ...

  4. [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛

    1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1000  Solved: 6 ...

  5. bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛

    1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 990  Solved: 64 ...

  6. bzoj1670【Usaco2006 Oct】Building the Moat 护城河的挖掘

    1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 387  Sol ...

  7. bzoj 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(DP)

    1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 786  So ...

  8. bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘(凸包)

    1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 624  Sol ...

  9. 搜索练习2(P6207 [USACO06OCT] Cows on Skates G)

    P6207 [USACO06OCT] Cows on Skates G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem ...

最新文章

  1. mongodb分享(二)
  2. MySQL索引的坑,谁踩谁知道……
  3. 数据科学家数据分析师_站出来! 分析人员,数据科学家和其他所有人的领导和沟通技巧...
  4. 2 image pil 转_「博文连载」RGB888转YCbCr的HDL实现
  5. 关于在arm裸板编程时使用printf问题的解决方法
  6. Windows 8实用窍门系列:16.Windows 8的右键菜单
  7. H3C DHCP实验
  8. 洛谷 P4147 玉蟾宫 (最大子矩形问题)
  9. 显著性分析-秩和检验与校正
  10. BetaFlight深入传感设计之二:Mag传感模块
  11. 东八区转为0时区_世界时间与北京时间怎么转换,世界标准(0时差)时间以哪个国家为准?...
  12. 智商、情商和逆商与程序员职业生涯发展
  13. Android音视频编码基础一
  14. 代码实现判断主机字节序(大端 or小端 )-- 面试题
  15. 康拓普:数据可视化如何让大数据更加人性化?
  16. PMP第三章:项目经理的角色
  17. java如何创建列表的表头,java word设置表头
  18. python判断火车票座位号分布图_怎么从火车票座位号看自己是不是靠窗的位置
  19. Vue下面安装Element 的详细步骤
  20. 编程语言摆地摊,我去逛了逛

热门文章

  1. 删除UEFI启动中的多余启动项
  2. 没有硝烟的战争——IT业界再起烽火
  3. 计算机技术应用广泛以下属于科学计算的是,计算机技术应用广泛,以下属于科学计算方面的是( )。...
  4. 2010-11-20至2010-12-20
  5. No.2 说地道的美语,最简单的句子,你行吗?
  6. 对抗生成网络GAN系列——DCGAN简介及人脸图像生成案例
  7. magic系统能升级鸿蒙系统吗,magic ui4.0是鸿蒙系统吗_magic ui4.0是不是鸿蒙系统
  8. 解决docker中中文显示的问题
  9. argparse库教程(超易懂)
  10. 为硬件保留内存 问题的解决方法