澤澤在巴西 ssl1579 最短路

2021-07-24 04:28:48 字數 1840 閱讀 4712

澤澤幫助了英國某街道儘量減少酸雨的傷害,街道辦主任非常感激他,就把他領到一扇門前,告訴他這扇門能通往好地方,具體好到什麼程度要看澤澤人品。澤澤毫不猶豫地走了進去……

澤澤來到了足球王國——巴西。這可是個好地方,澤澤看來人品攢了不少了。這裡大街小巷都在踢足球,其樂無窮。

突然,澤澤被乙個人拎了起來,一看,是個足球流氓。他後面跟了一大群足球流氓,正虎視眈眈地看他。他們要求和澤澤比賽,輸了就要揍他。

沒辦法,澤澤硬著頭皮和足球流氓另外擄來的幾個人一起組建了乙隻隊伍,和足球流氓隊比賽。

比賽開始,澤澤隊率先發球。澤澤觀察了四周,想怎麼才能用最短的時間射門呢?

射門的時間為距離*2,而傳球的時間是距離*1。所以澤澤想找一條用時最少的射門路徑,來打敗足球流氓。

足球流氓當然不會袖手旁觀,他們會攔截。當澤澤隊伍中的傳球人、被傳球人之間有某足球流氓並且他們在同一直線上時,傳球不會成功,即不能這樣傳球。比如a(1,2)想傳球給b(7,8),中間有個足球流氓c(3,4),則他們在同一直線,傳球不成功。射門不受足球流氓影響。

第1行3個整數x0,y0,n,m。x0,y0表示球門的座標,n表示澤澤隊伍有幾個人,m表示足球流氓有幾個人。

接下來的n行,分別有2個整數,表示澤澤球隊的球員座標。其中最前面的2個整數是澤澤的座標。球一開始在澤澤腳下。

接下來的m行,分別有2個整數,表示足球流氓的球員座標。

保證不會有2個人座標相同。

輸出乙個整數,是最短時間四捨五入取整後的結果。

0 0 5 2

20 20

27 -14

0 16

-7 -9

23 38

22 24

3 0澤澤(20,20)傳給3號隊員(0,16),3號隊員再射門(0,0),總共用了52。

對於80%的資料,n<=10,m<=5

對於100%的資料,n<=300,m<=100

列舉己方球員i,

j 和敵方球員

k ,判斷是否

k在直線i−

>

j 上,連邊建圖

需要注意的是最後只能射門

#include 

#include

#include

#include

#define n 301

#define m (n+1)*(n+1)*2+1

#define inf 0x7f7f7f7f

using

namespace

std;

struct posp[2][n];

struct edgee[m];

int ls[m],maxe=0;

double dis[m];

bool vis[n];

int max(int x,int y)

int min(int x,int y)

double onseg(pos a,pos b,pos c)

double dist(pos a,pos b)

void add(int x,int y,double w);ls[x]=maxe;}

double spfa(int st,int ed)

}vis[now]=false;

}return dis[ed];

}int main()

if (flag)

add(i,j,2*dist(p[0][i],p[0][j]));

else

add(i,j,dist(p[0][i],p[0][j]));

}cout

<<(int)(spfa(1,0)+0.5);

return

0;}

SSL 1579 澤澤在巴西

description 澤澤幫助了英國某街道儘量減少酸雨的傷害,街道辦主任非常感激他,就把他領到一扇門前,告訴他這扇門能通往好地方,具體好到什麼程度要看澤澤人品。澤澤毫不猶豫地走了進去 澤澤來到了足球王國 巴西。這可是個好地方,澤澤看來人品攢了不少了。這裡大街小巷都在踢足球,其樂無窮。突然,澤澤被乙...

SSL1579 澤澤在巴西 spfa

澤澤在巴西 time limit 10000ms memory limit 65536k total submit 81 accepted 29 case time limit 1000ms description 澤澤幫助了英國某街道儘量減少酸雨的傷害,街道辦主任非常感激他,就把他領到一扇門前,告...

澤澤在巴西

澤澤幫助了英國某街道儘量減少酸雨的傷害,街道辦主任非常感激他,就把他領到一扇門前,告訴他這扇門能通往好地方,具體好到什麼程度要看澤澤人品。澤澤毫不猶豫地走了進去 澤澤來到了足球王國 巴西。這可是個好地方,澤澤看來人品攢了不少了。這裡大街小巷都在踢足球,其樂無窮。突然,澤澤被乙個人拎了起來,一看,是個...