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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1360:奇怪的电梯(lift) 《信息学奥赛一本通》

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1360:奇怪的电梯(lift) 《信息学奥赛一本通》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://ybt.ssoier.cn:8088/problem_show.php?pid=1360

/* 1360:奇怪的電梯(lift)--AC http://ybt.ssoier.cn:8088/problem_show.php?pid=1360 */ #include <bits/stdc++.h> using namespace std; int que[300][2]; int num[210]; int main( void ) {int n,a,b;cin>>n>>a>>b;int head,tail;int tempx,tempy,nx;bool flag[210];memset(flag,false,sizeof(flag));for(int i=1;i<=n;++i){//每層的數字 cin>>num[i];}//從當前層到當前層 if( a == b ) {cout<<0<<endl;return 0;}head=0;tail=1;que[tail][0]=a;que[tail][1]=0;//step//flag表示已經走過 flag[a]=true;while( head != tail){//出隊 ++head;tempx=que[head][0];tempy=que[head][1];for(int i=-1;i<=1;++i){if( i != 0 ){nx=tempx+num[tempx]*i;//nx>n 上溢//nx<1 下溢//flag[nx] 表示已經走過 if( nx>n || nx<1 || flag[nx] ) continue;//break 跳出本層循環//continue:跳出本次循環if( nx == b ){cout<<tempy+1<<endl;return 0; }//入隊 ++tail;que[tail][0]=nx;que[tail][1]=tempy+1;//flag[nx] 標記為已經走過flag[nx]=true; }}}cout<<-1<<endl;return 0; }

?

?

?

?

?


?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的1360:奇怪的电梯(lift) 《信息学奥赛一本通》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。