bzoj 3299: [USACO2011 Open]Corn Maze玉米迷宫 最短路
来源:互联网 发布:博弈树极大极小算法 编辑:程序博客网 时间:2024/04/29 01:55
→题目链接←
愚蠢的我犯了一个愚蠢的错误
删了一个字符后就A了...
一个非常水的最短路,每个点只能访问到一次,再次访问肯定不优
所以从起点跑就好了,碰到传送点传送一下就行,只要走到了终点就是答案
乱七八糟的代码:
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>using namespace std;struct node{int x,y;bool f;}a[27][2];struct node1{int x,y;int num;};node S,T;int n,m;char c[330][330];bool vis[330][330];queue<node1>q;int tox[4]={-1,0,1,0};int toy[4]={0,1,0,-1};int main(){scanf("%d%d\n",&n,&m);for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){vis[i][j]=false;c[i][j]=getchar();if(c[i][j]>='A' && c[i][j]<='Z'){int x=c[i][j]-'A';if(a[x][0].f)a[x][1].x=i,a[x][1].y=j;else a[x][0].x=i,a[x][0].y=j,a[x][0].f=true;}else if(c[i][j]=='@')S.x=i,S.y=j;else if(c[i][j]=='=')T.x=i,T.y=j;}getchar();}vis[S.x][S.y]=1;node1 t;t.x=S.x;t.y=S.y;t.num=0;q.push(t);while(!q.empty()){t=q.front();q.pop();for(int i=0; i<4; i++){node1 t1=t;t1.x+=tox[i];t1.y+=toy[i];t1.num++;if(t1.x==T.x && t1.y==T.y){printf("%d\n",t1.num);return 0;}if(c[t1.x][t1.y]=='#')continue;if(c[t1.x][t1.y]>='A' & c[t1.x][t1.y]<='Z'){int x=c[t1.x][t1.y]-'A';if(a[x][0].x==t1.x && a[x][0].y==t1.y)t1.x=a[x][1].x,t1.y=a[x][1].y;else t1.x=a[x][0].x,t1.y=a[x][0].y;}if(vis[t1.x][t1.y])continue;vis[t1.x][t1.y]=1;q.push(t1);}}return 0;}
阅读全文
0 0
- bzoj 3299: [USACO2011 Open]Corn Maze玉米迷宫 最短路
- bzoj3299 [USACO2011 Open]Corn Maze玉米迷宫
- [BZOJ3299][USACO2011 Open]Corn Maze玉米迷宫
- [USACO2011 Open]Corn Maze玉米迷宫
- USACO 玉米田迷宫 Corn Maze
- 洛谷 P1825 [USACO11OPEN]玉米田迷宫Corn Maze
- Luogu P1825 玉米田迷宫Corn Maze
- BZOJ 2442: [Usaco2011 Open]修剪草坪
- bzoj 2442: [Usaco2011 Open]修剪草坪
- bzoj 2442 [Usaco2011 Open]修剪草坪
- BZOJ 2442 [Usaco2011 Open]修剪草坪
- BZOJ 2442 [Usaco2011 Open] 修剪草坪
- bzoj 2709: [Violet 1]迷宫花园 (最短路)
- poj3026Borg Maze(bfs+最短路)
- BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 最短路
- 迷宫最短路
- 迷宫最短路求解
- 迷宫及其最短路
- 欢迎使用CSDN-markdown编辑器
- 初学Android学到的关于LinearLayout的知识
- 如何设计自适应屏幕大小的网页
- 验证码识别(KNN算法)
- 学习python之 path 模块
- bzoj 3299: [USACO2011 Open]Corn Maze玉米迷宫 最短路
- npm发布文件失败
- SpringBoot学习(四)SpringBoot和WebSocket
- solr的安装及使用(一)
- spring boot 基础之使用AOP统一处理请求日志使用方法
- 1252. 天平
- HDU 6045 Is Derek lying?
- Flux
- CI验证码修改优化