★★ 輸入檔案:【問題描述】cchkk.in
輸出檔案:cchkk.out
簡單對比時間限制:1 s 記憶體限制:256 mb
在乙個魔法森林裡,住著乙隻聰明的小貓聰聰和乙隻可愛的小老鼠可可。雖然灰姑娘非常喜歡她們倆,但是,聰聰終究是乙隻貓,而可可終究是乙隻老鼠,同樣不變的是,聰聰成天想著要吃掉可可。
一天,聰聰意外得到了一台非常有用的機器,據說是叫gps,對可可能準確的定位。有了這台機器,聰聰要吃可可就易如反掌了。於是,聰聰準備 馬上出發,去找可可。而可憐的可可還不知道大難即將臨頭,仍在森林裡無憂無慮的玩耍。小兔子乖乖聽到這件事,馬上向灰姑娘報告。灰姑娘決定盡快阻止聰聰, 拯救可可,可她不知道還有沒有足夠的時間。
整個森林可以認為是乙個無向圖,圖中有n個美麗的景點,景點從1至n編號。小動物們都只在景點休息、玩耍。在景點之間有一些路連線。
當聰聰得到gps時,可可正在景點m(m≤n)處。以後的每個時間單位,可可都會選擇去相鄰的景點(可能有多個)中的乙個或停留在原景點不 動。而去這些地方所發生的概率是相等的。假設有p個景點與景點m相鄰,它們分別是景點r、景點s,……景點q,在時刻t可可處在景點m,則在(t+1)時 刻,可可有1/(p+1)的可能在景點r,有1/(p+1)的可能在景點s,……,有1/(p+1)的可能在景點q,還有1/(p+1)的可能停在景點 m。
我們知道,聰聰是很聰明的,所以,當她在景點c時,她會選乙個更靠近可可的景點,如果這樣的景點有多個,她會選乙個標號最小的景點。由於聰聰太想吃掉可可了,如果走完第一步以後仍然沒吃到可可,她還可以在本段時間內再向可可走近一步。
在每個時間單位,假設聰聰先走,可可後走。在某一時刻,若聰聰和可可位於同乙個景點,則可憐的可可就被吃掉了。灰姑娘想知道,平均情況下,聰聰幾步就可能吃到可可。而你需要幫助灰姑娘盡快的找到答案。
【輸入檔案】
【輸出檔案】
【樣例輸入1】
4 3【樣例輸出1】1 41 2
2 33 4
1.500【樣例說明1】
開始時,聰聰和可可分別在景點1和景點4。
第乙個時刻,聰聰先走,她向更靠近可可(景點4)的景點走動,走到景點2,然後走到景點3;假定忽略走路所花時間。
可可後走,有兩種可能:
第一種是走到景點3,這樣聰聰和可可到達同乙個景點,可可被吃掉,步數為1,概率為 0.5。 第二種是停在景點4,不被吃掉。概率為 0.5。
到第二個時刻,聰聰向更靠近可可(景點4)的景點走動,只需要走一步即和可可在同一景點。因此這種情況下聰聰會在兩步吃掉可可。
所以平均的步數是1* 0.5+2* 0.5=1.5步。
【樣例輸入2】
9 9【樣例輸出2】9 31 2
2 33 4
4 53 6
4 64 7
7 88 9
2.167【樣例說明2】
森林如下圖所示:
【資料範圍】
#include#include#include#include#include#include#include#define v 980#define ll long long
using namespace std;
int n;
vectorw[v];
long double ans=0;
int d[v],q[v][v],vis[v];
void bfs(int x)}}
}
}double s[v][v],eps=1e-6;
int ot[v];
void dfs(int x,int y)
for(int i=1;i<=n;i++)
sort(w[i].begin(),w[i].end());
//return 0;
for(int i=1;i<=n;i++)
bfs(i);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i!=j)
} dfs(aa,bb);
printf("%.3lf",s[aa][bb]);
//cout<
NOI 2005 聰聰與可可
一張 n 個點,m 條邊的有向圖中,貓在 a 點,鼠在 b 點,每一秒兩者按照以下規則移動 當任意時刻貓到達鼠所在地時鼠被吃掉,求鼠被吃掉的期望時間。bzoj200題達成紀念 include include include include include include include includ...
Noi2005 聰聰和可可
noi2005 聰聰和可可 time limit 10000ms memory limit 65536k total submit 21 accepted 14 description input 資料的第1行為兩個整數n和e,以空格分隔,分別表示森林中的景點數和連線相鄰景點的路的條數。第2行包含兩...
NOI2005 聰聰與可可(期望)
oi版貓和老鼠 給定乙個有n個點的圖 n leq 1000 在s點有乙隻貓,t點有乙隻jerry,每一單位時間貓先走 沿著到jerry的路徑中的最短路走一步,如果同時存在多條最短路則選擇走一步後序號更小的一條,另外,如果這一步沒有走到jerry所在的點,貓會再走一步 砸瓦魯多 jerry後走,可等概...