M-災難預警-浙江農林大學第十九屆程式設計競賽暨天梯賽選拔賽
題目:災難預警
眾所周知,浙農林是一條河。
由於浙江農林大學的特殊地形,當你在下雨後漫步在農林大路上的時候
難免會出現一腳踩進一個水坑的情況的情況。而農農非常不喜歡踩到水坑的感覺,
請你幫忙設計一個程式來幫助農農判斷他能否在不踩入水坑的情況下回到
寢室。
已知,浙江農林大學可以表示為一個 N * N 的矩陣。
對於每個位置有一個海拔資料 h[i][j],當水位高度大於 h[i][j] 的時候,
這個位置就會形成一個水坑。
農農現在的座標是 (1, 1), 他的宿舍位於 (n, n).
農農只可以沿著上下左右四個方向走。
假如農農現在位於 (2, 2)那麼在不考慮水位的情況下,他可以去的地方有
(1, 2),(2,1),(3, 2),(2, 3)
輸入描述:
輸出描述:
樣例:
思路:這題一道簡單的bfs+優先佇列,按層次遍歷,將遍歷到的點存入佇列,然後不斷取出h大的節點,繼續遍歷,當遍歷到n,n,時結束,以遍歷過程中的最小h為依據,水位<=h,能走,否則,不能。有點貪心的味道。
#include<bits/stdc++.h>
using namespace std;
int mapp[1005][1005];
int minn=10000000;
int dis[4][2]={{0,1},{1,0},{-1,0},{0,-1}};
int us[1005][1005]={0};
int flag=0;
int n;
struct s{
int x;
int y;
int z;
};
bool operator<(s a , s b){
return a.z<b.z;
}
priority_queue<s>q;
void bfs(int a,int b,int c){
q.push({a,b,c});
while(!q.empty()){
int t=q.top().z;
int l=q.top().x;
int r=q.top().y;
q.pop();
if(l==n&&r==n){
flag=t;
return;
}
for(int i=0;i<4;i++){
int x=l+dis[i][0];
int y=r+dis[i][1];
if(x>0&&y>0&&x<=n&&y<=n&&us[x][y]==0){
us[x][y]=1;
if(mapp[x][y]<t)
q.push({x,y,mapp[x][y]});
else
q.push({x,y,t});
}
}
}
}
int main(){
cin>>n;
for(int j=1;j<=n;j++){
for(int l=1;l<=n;l++){
scanf("%d",&mapp[j][l]);
}
}
us[1][1]=1;
bfs(1,1,mapp[1][1]);
int q;
scanf("%d",&q);
for(int j=1;j<=q;j++){
int p;
scanf("%d",&p);
if(p>flag){
printf("Hmmm\n");
}
else
printf("Wuhu\n");
}
}
相關文章
- 華中農業大學第十三屆程式設計競賽程式設計
- 第15屆浙江省大學生程式設計競賽D題程式設計
- 第十五屆浙江大學寧波理工學院程式設計大賽(同步賽)程式設計
- 華中農業大學第十三屆程式設計競賽 題解程式設計
- 2024天梯選拔賽(一)
- 某大學程式設計競賽程式設計
- 第二十屆西南科技大學ACM程式設計競賽(同步賽)ACM程式設計
- 北京資訊科技大學第十一屆程式設計競賽(重現賽)I程式設計
- 2023年中國高校計算機大賽-團隊程式設計天梯賽(GPLT)上海理工大學校內選拔賽 (vp + 補題)計算機程式設計
- 河北大學選拔賽補題
- [補題] 第 45 屆國際大學生程式設計競賽(ICPC)亞洲區域賽(上海)程式設計
- 2018天梯賽、藍橋杯、(CCPC省賽、邀請賽、ICPC邀請賽)校內選拔賽反思總結!
- 第十七屆中國計量大學程式設計競賽 I- Isolated Pointset程式設計
- 紹興市大學生程式設計競賽程式設計
- 2014年北京師範大學新生程式設計競賽網路賽程式設計
- 天梯選拔賽2補題_2024_03_09
- 第八屆山東省ACM大學生程式設計競賽總結ACM程式設計
- 山東省第七屆ACM大學生程式設計競賽-Reversed WordsACM程式設計
- 2024團體程式設計天梯賽——賽後總結程式設計
- 無錫學院2024年ACM大學生程式設計競賽校選賽 題解ACM程式設計
- 中國計量大學現代科技學院第四屆“中競杯”程式設計校賽(同步賽) F.爬塔(DP)程式設計
- 挑戰程式設計競賽選讀-選擇排序程式設計排序
- 天梯賽賽前總結
- 山東省第一屆ACM大學生程式設計競賽-Balloons(搜尋)ACM程式設計
- 第 10 屆 CCPC 中國大學生程式設計競賽濟南站 遊記程式設計
- 2012年"浪潮杯"山東省第三屆ACM大學生程式設計競賽(熱身賽)ACM程式設計
- QZEZ第一屆“飯吉圓”杯程式設計競賽程式設計
- 團體程式設計天梯賽-練習集程式設計
- 2024天對程式設計天梯賽程式設計
- 湖南省大學生程式設計競賽系統設計程式設計
- 第十屆山東省大學生程式設計競賽題解(A、F、M、C)程式設計
- 第十四屆全國大學生資訊保安競賽——創新實踐能力賽(東北賽區)比賽圓滿落幕
- 新生賽及預選賽 10
- 第二屆“重科杯”重慶科技大學程式設計競賽(同步賽)ptlks的題解(2024.5.18)程式設計
- 第43屆ACM-ICPC國際大學生程式設計競賽 亞洲區域賽南京站現場賽名額分配相關說明ACM程式設計
- 山東省第四屆ACM大學生程式設計競賽-Rescue The Princess(計算幾何)ACM程式設計
- 第十四屆全國大學生資訊保安競賽創新實踐能力賽(華中賽區)比賽成功舉辦
- [題解][2021-2022年度國際大學生程式設計競賽第10屆陝西省程式設計競賽] Type The Strings程式設計