WAJUEJI which home strong!
来源:互联网 发布:java 获取list的泛型 编辑:程序博客网 时间:2024/04/28 15:01
http://acm.nyist.net/JudgeOnline/problem.php?pid=1100
#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
char a[100][100];
int book[110][110],sx,sy,ex,ey,n,m;
struct node
{
int x,y;
int yy;
friend bool operator<(const node &a,const node &b)
{
return a.yy>b.yy;
}
};
int bfs()
{
int hx[]={1,-1,0,0},hy[]={0,0,1,-1},i;
node p,q;
priority_queue<node>Q;
memset(book,0,sizeof(book));
book[sx][sy]=1;
p.x=sx;
p.y=sy;
p.yy=0;
Q.push(p);
while(!Q.empty())
{
p=Q.top();
Q.pop();
if(p.x==ex && p.y==ey)
return p.yy;
for(i=0;i<4;i++)
{
q.x=p.x+hx[i];
q.y=p.y+hy[i];
q.yy=p.yy;
if(q.x>=1 && q.x<=n && q.y>=1 && q.y<=m && !book[q.x][q.y] && a[q.x][q.y]!='#')
{
if(a[q.x][q.y]!='l')
q.yy=q.yy+a[q.x][q.y]-'A'+1;
Q.push(q);
book[q.x][q.y]=1;
}
}
}
return -1;
}
int main()
{
int i,j,t;
cin>>t;
while(cin>>n>>m)
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]=='s')
{
sx=i;
sy=j;
}
if(a[i][j]=='l')
{
ex=i;
ey=j;
}
}
cout<<bfs()<<endl;
}
return 0;
}
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- WAJUEJI which home strong!
- NYOJ1100---WAJUEJI which home strong!
- 1100 WAJUEJI which home strong!
- NYOJ WAJUEJI which home strong!
- NYOJ1100 WAJUEJI which home strong!【BFS】
- NY 1100 WAJUEJI which home strong!
- nyoj 1100 WAJUEJI which home strong!
- NYOJ 1100 WAJUEJI which home strong!
- NYOJ--1100--WAJUEJI which home strong!
- nyoj--1100--WAJUEJI which home strong!(bfs)
- BFS+优先级队列-WAJUEJI which home strong!
- matlab程序运算速度
- MongoDB命令操作(入门)
- kendo实现栏目管理页面
- p123第三章作业36题
- 不使用第三个变量交换两个变量的值
- WAJUEJI which home strong!
- 【css实践】position定位
- 重映射和仿射(remap函数)
- 第八周项目3-分数类中的运算符重载(二)
- flash五子棋心得——致我写的第一个程序
- 用svg动态绘制环形进度条
- 剑指Offer之 - 从尾到头打印链表
- 第七周项目3——分数类中的运算符重载
- 7 key skills required for Machine Learning jobs