栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1103 Hike on a Graph

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1103 Hike on a Graph

#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;#define N 60struct node{int a,b,c;int time;}cur,next;int mark[N][N][N],n;char map[N][N];int bfs(){int i;queue<node> q;memset(mark,0,sizeof(mark));cur.time=0;mark[cur.a][cur.b][cur.c]=1;if(cur.a==cur.b && cur.b==cur.c)return 0;q.push(cur);while(!q.empty()){cur=q.front();q.pop();for(i=1;i<=n;i++){if(map[cur.a][i]==map[cur.b][cur.c] && !mark[i][cur.b][cur.c]){mark[i][cur.b][cur.c]=1;next.time=cur.time+1;next.a=i, next.b=cur.b, next.c=cur.c;if(next.a==next.b && next.b==next.c) return next.time;q.push(next);}if(map[cur.b][i]==map[cur.a][cur.c] && !mark[cur.a][i][cur.c]){mark[cur.a][i][cur.c]=1;next.time=cur.time+1;next.a=cur.a, next.b=i, next.c=cur.c;if(next.a==next.b && next.b==next.c) return next.time;q.push(next);}if(map[cur.c][i]==map[cur.b][cur.a] && !mark[cur.a][cur.b][i]){mark[cur.a][cur.b][i]=1;next.time=cur.time+1;next.a=cur.a, next.b=cur.b, next.c=i;if(next.a==next.b && next.b==next.c) return next.time;q.push(next);}}}return -1;}int main(){int i,j;while(scanf("%d",&n),n){scanf("%d%d%d",&cur.a,&cur.b,&cur.c);for(i=1;i<=n;i++){for(j=1;j<=n;j++)cin>>map[i][j];}int x=bfs();if(x!=-1) printf("%dn",x);else printf("impossiblen");}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号