power oj 1687 將軍回家 最短路

2021-10-10 13:24:15 字數 1941 閱讀 5779

傳送門

題意:n個城市,可以分成兩類,被一條河相隔,求城市1到城市2的最短路,要求只能經過河

一次;分析:把同類城市的邊單獨跑dijskra,再列舉連線兩類城市的邊。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 0x3f3f3f3f

using

namespace std;

typedef

long

long ll;

typedef

unsigned

long

long ull;

inline

intread()

while

(ch>=

'0'&&ch<=

'9') s=s*

10+ch-

'0',ch=

getchar()

;return s*w;

}const

int maxn =

1e4+5;

int n,m,a[

610]

;int tot,head[

610]

,to,h[

610]

;struct edgeedge[maxn<<2]

,e[maxn<<2]

,f[maxn<<2]

;void

add_edge

(int u,

int v,

int w)

void

add_edge

(int u,

int v,

int w)

int dis[

610]

,d[610];

bool vis[

610]

;struct node};

int e[

610]

[610];

void

dijskra

(int s));

dis[s]=0

;while

(!q.

empty()

));}

}}}void

dijskra

(int s));

d[s]=0

;while

(!q.

empty()

));}

}}}int

main()

int cnt=0;

for(

int i=

1;i<=n;i++

) a[i]

=read()

;for

(int i=

1;i<=n;i++

)for

(int j=i+

1;j<=n;j++

),f[

++cnt]=;

}dijskra(1

);dijskra(2

);int min=inf;

for(

int i=

1;i<=cnt;i++

)else

if(a[f[i]

.next]==1

&&a[f[i]

.to]==2

)}if(min==inf)

puts

("-1");

else

printf

("%d\n"

,min);}

return0;

}

FZU 1687 單詞縮寫

單詞縮寫 time limit 1s memory limit 32m accepted submit 228 total submit 622 國際會議的檔案,中文的印刷本總是最薄的一冊。所以,小明決定縮寫一段段的英文。他的縮寫規則十分的簡單 在一段只由a z,a z和空格組成的英文段落中,以空格...

Power OJ 1053合併果子

description 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等...

除法分塊 power oj 2886

i lrx k i i lr x k i xk i x r l 1 i lr k i x ki displaystyle sum displaystyle sum rfloor x r l 1 displaystyle sum rfloor i l r x k i i l r x k i k ix ...