人活著系列之芳姐和芳姐的豬(Floyd)

2021-09-06 17:24:21 字數 1711 閱讀 4761

這個題一方面資料水,另一方面就是思維水,一拿到題就以為考最小生成樹。

因為這個題需要求各點間的距離,又因為豬圈的數目最大為600,所以根本就沒尋思考floyd,一方面思維,另一方面是水的後台,因為豬每天去固定的豬圈吃飯,所以求出每個豬到每個豬圈固定的距離便可。

wa(以為已經求出各點間的最短距離,只要豬圈沒豬便不會去)

反例3 4 3

1 2 1

1 3 1

1 4 1

#include #include 

#include

#include

#define n 1000001

using

namespace

std;

int map[602][602],dis[602],v[602

];int n,m,k,a[401

],v;

void

floy()}}

}}void

prim()

}v[k]=1

;

//printf("min==%d\n",min);

sum=sum+min;

for(int j=1; j<=m; j++)}}

printf(

"%d\n

",sum);

}int

main()

map[i][i]=0

; }

int b[1211

]; v=0

; memset(b,

0,sizeof

(b));

for(int i=1; i<=n; i++)

for(int i=1; i<=m; i++)

for(int i=1; i<=k; i++)

}floy();

/*for(int i=1;i<=m;i++)

printf("\n");

}*/for(int i=1; i<=k; i++)

if(sum==0

)

map[xx[i]][xx[i]]=0

; }

if(sum1==0

)

map[yy[i]][yy[i]]=0

; }

if(sum&&sum1)

}prim();

}return0;

}

ac的

#include #include 

#include

#include

#define n 1000001

using

namespace

std;

intn,m,k;

int a[351],map[601][601

];void

floy()}}

}}int

main()

map[i][i]=0

; }

while(k--)

}floy();

int min=n;

intsum;

for(int i=1; i<=m; i++)

if(min>sum)

min=sum;

}printf(

"%d\n

",min);

return0;

}

人活著系列之芳姐和芳姐的豬

time limit 1000ms memory limit 65536k 有疑問?點這裡 芳姐特別喜歡豬,所以,她特意養了m 個豬圈,順便在k 條無向邊,每條邊有都有起點v 距離.芳姐和豬們約定好,每天去乙個固定豬圈去吃飯,芳姐為了不累著她可愛的豬們,想知道所有的豬吃飯走的最短路程是多少?第一行 ...

人活著系列之芳姐和芳姐的豬

time limit 1000ms memory limit 65536kb problem description 百年來,人活著是為了什麼這個問題一直縈繞在人的腦海裡,也一直困擾著人的思想。人活著就是活著了,為活著本身而活著,而不是為活著之外的任何事物而活著的。正因為活著,所以活著。對,是有點莫...

sdutacm 人活著系列之芳姐和芳姐的豬

sdutacm 人活著系列之芳姐和芳姐的豬 time limit 1000ms memorylimit 65536kb submit statistic problemdescription 百年來,人活著是為了什麼這個問題一直縈繞在人的腦海裡,也一直困擾著人的思想。人活著就是活著了,為活著本身而活...