日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nyoj 284 坦克大战 (优先队列)

發(fā)布時間:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nyoj 284 坦克大战 (优先队列) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目鏈接:http://acm.nyist.net/JudgeOnline/status.php?pid=284

特殊數(shù)據(jù):

5 5

BBEEY EEERB SSERB SSERB SSETB 7 非優(yōu)先隊列: 1 2 #include<iostream> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cstring> 6 #include<string> 7 #include<cmath> 8 #include<map> 9 #include<queue> 10 using namespace std; 11 int e1,e2,m,n; 12 int mapp[310][310]; 13 int vis[310][310]; 14 int dir[4][2]={-1,0,1,0,0,1,0,-1}; 15 int ans; 16 struct T 17 { 18 int x,y; 19 }now,eed; 20 int bfs(int s1,int s2) 21 { 22 queue< T >aa; 23 while(!aa.empty()) aa.pop(); 24 now.x=s1;now.y=s2; 25 aa.push(now); 26 while(!aa.empty()) 27 { 28 eed=aa.front(); 29 aa.pop(); 30 if(eed.x==e1 && eed.y==e2) 31 { 32 if(ans>vis[eed.x][eed.y]) 33 ans=vis[eed.x][eed.y]; 34 } 35 for(int i=0;i<4;i++) 36 { 37 now.x=eed.x+dir[i][0];now.y=eed.y+dir[i][1]; 38 //cout<<now.x<<" "<<now.y<<" "<<endl; 39 if( mapp[now.x][now.y]!=0 ) 40 { 41 if(vis[now.x][now.y]==0) 42 { vis[now.x][now.y]=mapp[now.x][now.y]+vis[eed.x][eed.y]; aa.push(now); } 43 else if(mapp[now.x][now.y]+vis[eed.x][eed.y]<vis[now.x][now.y]) 44 { 45 vis[now.x][now.y]= mapp[now.x][now.y]+vis[eed.x][eed.y] ; 46 aa.push(now); 47 } 48 } 49 } 50 } 51 return ans; 52 //5 5 53 //BBEEY 54 //EEERB 55 //SSERB 56 //SSERB 57 //SSETB 58 } 59 int main() 60 { 61 int i,j,k,t,s1,s2; 62 char s; 63 while(cin>>m>>n && m+n) 64 {ans=1000; 65 memset(mapp,0,sizeof(mapp)); 66 memset(vis,0,sizeof(vis)); 67 for(int i=1;i<=m;i++) 68 for(int j=1;j<=n;j++) 69 { 70 cin>>s; 71 if(s=='Y') 72 {s1=i;s2=j;} 73 else if(s=='T') 74 {e1=i;e2=j; mapp[i][j]=1;} 75 else if(s=='B') 76 mapp[i][j]=2; 77 else if(s=='E') 78 mapp[i][j]=1; 79 else mapp[i][j]=0; 80 } 81 int mm=bfs(s1,s2); 82 if(mm<1000) 83 cout<<ans<<endl; 84 else cout<<-1<<endl; 85 } 86 return 0; 87 } 88

優(yōu)先隊列:

1 #include<queue> 2 #include<algorithm> 3 #include<iostream> 4 #include<cstdio> 5 #include<cstring> 6 using namespace std; 7 char map[310][310]; 8 int vis[310][310],m,n; 9 int dir[4][2] = {1,0,-1,0,0,-1,0,1}; 10 int sx,sy,ex,ey; 11 struct T 12 { 13 int x,y,step; 14 15 }now,eed; 16 bool operator<( T a, T b ){ 17 return a.step>b.step; 18 } 19 priority_queue<T>pp; 20 bool judge(int x,int y) 21 { 22 if(x<1 || x>m || y<1 || y>n || vis[x][y]==1 || map[x][y]=='S' || map[x][y]=='R') 23 return false; 24 25 return true; 26 } 27 int bfs() 28 { 29 while(!pp.empty()) pp.pop(); 30 now.x = sx; now.y = sy; now.step = 0; 31 vis[now.x][now.y]=1; 32 pp.push(now); 33 while(!pp.empty()) 34 { 35 eed = pp.top(); 36 pp.pop(); 37 // printf("%d %d \n",eed.x,eed.y); 38 if(eed.x == ex && eed.y==ey) 39 return eed.step; 40 41 for(int i=0;i<4;i++) 42 { 43 now.x = eed.x+dir[i][0]; 44 now.y = eed.y+dir[i][1]; 45 if(judge(now.x ,now.y)) 46 { 47 if(map[now.x][now.y] == 'B') 48 now.step = eed.step+2; 49 else 50 now.step = eed.step+1; 51 vis[now.x][now.y]= 1; 52 pp.push(now); 53 } 54 } 55 } 56 return -1; 57 58 } 59 int main() 60 { 61 while(scanf("%d %d",&m,&n) && m+n) 62 { 63 memset(vis,0,sizeof(vis)); 64 for(int i =1;i<=m;i++) 65 for(int j =1;j<=n; j++) 66 { 67 scanf(" %c",&map[i][j]); 68 if(map[i][j] == 'Y') 69 { 70 sx = i;sy = j; 71 } 72 if(map[i][j] == 'T') 73 { 74 ex = i;ey = j; 75 } 76 } 77 int ans = bfs(); 78 printf("%d\n",ans); 79 } 80 return 0; 81 }

?

總結(jié)

以上是生活随笔為你收集整理的nyoj 284 坦克大战 (优先队列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎综合网 | 天天操天天操天天操 | 福利影院av | 国产在线高清 | 911成人网 | 黄色片上床 | 伊人影视大全 | 久久人妻免费视频 | 一级理论片 | 欧美大屁股熟妇bbbbbb | 日韩av动漫 | 日本网站免费 | 日韩欧美中文字幕一区二区三区 | jlzzjlzzjlzz亚洲人 | 青娱乐国产盛宴 | 665566综合网 | 亚洲av成人一区二区国产精品 | 日韩毛片一区二区三区 | 美女一区二区三区 | 日韩一级黄色片 | 五月婷婷视频在线观看 | 国产一区二区三区视频免费观看 | 日韩激情视频在线 | 成人在线观看免费 | 摸大乳喷奶水www视频 | 国产在线xxx | 日日夜夜一区二区 | 亚洲图片 欧美 | av自拍一区 | 性视频免费 | 99久草| 久久伊人免费视频 | 狠狠躁18三区二区一区 | 国产日本精品 | 蜜桃成熟时李丽珍国语 | 人人干人人爽 | 超碰啪啪 | 国产精品18久久久久久vr下载 | 成人爱爱网站 | 日本久久久久久久久 | 好男人在线视频 | 韩日精品在线 | hd丰满圆润的女人hd | 欧美高清视频一区二区 | 少妇太紧太爽又黄又硬又爽小说 | 99精品一级欧美片免费播放 | 高清av一区| 足交在线观看 | 精品国语对白 | 国产不卡在线播放 | 极品淫少妇 | 性调教学院高h学校 | www.久久爱 | 久久久99精品免费观看 | 国产乱码精品一区二区三区亚洲人 | 97久久久| a级片日本 | 国产精品又黄又爽又色无遮挡 | 日韩黄色片免费看 | 欧美综合在线观看 | 一区二区视频网 | 天堂网av在线播放 | 女人色极品影院 | 一级片一级片 | 久久人人妻人人人人妻性色av | www.av网| 嫩草午夜少妇在线影视 | 毛片专区 | 亚洲免费视频观看 | 免费不卡毛片 | 性久久久 | 香蕉狠狠爱视频 | 我不卡一区二区 | 亚洲一区二区日本 | 日韩精品小视频 | 亚洲精品国产a | 日本在线观看a | 美女露隐私网站 | 光溜溜视频素材大全美女 | 中文字幕影片免费在线观看 | 在线观看欧美一区二区三区 | 久久99热这里只频精品6学生 | 日本免费成人 | 丁香久久久 | 日产精品久久久一区二区 | 极品尤物一区二区 | 色婷婷伊人 | 欧美日韩亚洲精品内裤 | 亚洲色图一区二区三区 | 国产草草 | 国产小视频网址 | 91精品国产乱码久久久 | 亚洲av永久无码精品一区二区国产 | 欧洲精品久久久久毛片完整版 | 日本黄色一区 | 国产精品久久综合青草亚洲AV | 淫片网站 | 97色爱 | 亚洲av无码国产精品久久久久 |