P4554 小明的遊戲

2022-08-20 00:45:17 字數 885 閱讀 5847

每個點向它旁邊的點連邊,相同dis為0,不同為1。

n=3,m=3每個點的標號如下:

1 2 3

4 5 6

7 8 9

這樣安排標號唯一,標號計算公式$(i-1)* m+j$,連邊時判斷一下邊界,因為題目預設座標是從(0,0)開始,所以方便做題,將讀入的起點和終點座標都加1。然後跑個最短路就可以了

#include#include

#include

#include

using

namespace

std;

intn,m;

intex,ey,px,py;

int a[505][505

];char ch[255

];struct

nodee[

20000005

];int head[250005],cnt,dis[250005],in[250005

];inline

void add(int

from,int to,int

dis);

head[

from]=cnt;

}void

spfa()}}

printf(

"%d\n

",dis[(px-1)*m+py]);

}int

main()

}for(int i=1;i<=n;++i)

for(int j=1;j<=m;++j)

scanf(

"%d%d%d%d

",&ex,&ey,&px,&py);

ex++;ey++;px++;py++;

spfa();

}return0;

}

P4554 小明的遊戲

小明的遊戲就是玩棋盤?和這道題有啥區別啊。如果不加多組測試資料,這道題可能還沒那道題難。好了,吐槽結束 首先還是按照比較常規的思路來想,上下左右都已經寫出來了,dfs和bfs沒得跑,蒟蒻不太會處理bfs,因為實在沒有想出來怎麼寫,所以第一次我寫的是dfs 記憶化搜尋,水了60分,因為dfs本來就慢,...

P4554 小明的遊戲 洛谷 雙端佇列BFS

最近沒有更新部落格,全是因為英語,英語太難了qwq 洛谷春令營的作業我也不會 我是弱雞 隨機跳了2個題,難度不高,還是講講吧,學學新演算法也好 可以拿來水部落格 第一題就是這個小明的遊戲 小明最近喜歡玩乙個遊戲。給定乙個 n m的棋盤,上面有兩種格仔 和 遊戲的規則很簡單 給定乙個起始位置和乙個目標...

4554 叛逆的小明

problem description 叛逆期的小明什麼都喜歡反著做,連看數字也是如此 負號除外 比如 小明會把1234它看成4321 把 1234看成 4321 把230看成032 032 32 把 230看成 032 032 32 現在,小明做了一些a b和a b的題目 a,b為整數且不含前導0...