\(\\\)
一張\(n\)個點,\(m\)條邊的有向圖中,貓在\(a\)點,鼠在\(b\)點,每一秒兩者按照以下規則移動:
當任意時刻貓到達鼠所在地時鼠被吃掉,求鼠被吃掉的期望時間。
\(\\\)
bzoj200題達成紀念
\(\\\)
#include#include#include#include#include#include#include#include#define n 1010
#define r register
#define gc getchar
#define inf 2000000000
using namespace std;
inline int rd()
while(isdigit(c))
return f?-x:x;
}bool vis[n];
double f[n][n];
int n,m,s,t,tot,hd[n],d[n][n],deg[n],nxt[n][n];
struct edge e[n<<1];
inline void add(int u,int v)
queueq;
inline void bfs(int x)
}}inline void dfs(int u,int v)
if(f[nu][v]<-10) dfs(nu,v);
f[u][v]=(res+f[nu][v])/(deg[v]+1)+1;
}int main()
for(r int i=1;i<=n;++i)
for(r int j=1;j<=n;++j) d[i][j]=nxt[i][j]=inf,f[i][j]=-(double)inf;
for(r int i=1;i<=n;++i) bfs(i);
for(r int i=1;i<=n;++i)
for(r int j=1;j<=n;++j)
if(d[i][j]if(d[v=e[k].to][j]+1==d[i][j]) nxt[i][j]=min(nxt[i][j],v);
for(r int i=1;i<=n;++i)
if(f[s][t]<-1) dfs(s,t);
printf("%.3lf\n",f[s][t]);
return 0;
}
NOI2005 聰聰與可可
輸入檔案 cchkk.in輸出檔案 cchkk.out簡單對比 時間限制 1 s 記憶體限制 256 mb 問題描述 在乙個魔法森林裡,住著乙隻聰明的小貓聰聰和乙隻可愛的小老鼠可可。雖然灰姑娘非常喜歡她們倆,但是,聰聰終究是乙隻貓,而可可終究是乙隻老鼠,同樣不變的是,聰聰成天想著要吃掉可可。一天,聰...
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後走,可等概...