傳送門
題意: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 ...