Codevs 1961 躲避大龍

2021-08-09 07:29:08 字數 1097 閱讀 8524

題目:

題解:

有一點像數字三角形的某個加強版

spfa

開乙個二維陣列dis[i][j]表示i號節點有無長度為j的路徑

spfa的取min改為更新dis陣列

注意:

一開始沒處理負邊權,wa了兩組

處理負邊時每次+60,tle了好多組

那麼那些負邊權的點在第一次是怎麼過的呢【笑】

codevs的資料真是坑的一筆啊

處理負邊的時候,加乙個很大的60的倍數就可以啦

**:

#include

#include

#include

#include

#include

const int p=60;

const int n=7000+50,m=9000+500;

using namespace std;

int first[n],next[m<<1],n,m,a,b,c,tot;

bool inq[n][60];

bool dis[n][60];

struct edgee[m<<1];

struct wkw;

queueq;

void build(int f,int t,int val);

next[tot]=first[f];

first[f]=tot;

return ;

}void spfa());

dis[1][0]=1;

inq[1][0]=1;

while(!q.empty()));

inq[t][tmp]=1;}}

return ;

}int main()

//cout<<"hah";

spfa();

for(int i=0;i<=59;i++)

}printf("60");

return

0;}

codevs1961 躲避大龍

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解你早上起來,慢悠悠地來到學校門口,發現已經是八點整了!這句話裡有乙個比較重要的條件 學校共有n個地點,編號為1 n,其中1號為學校門口 也就是你現在所處的位置 2號為你的教室 也就是你的目的地 這些地點之間有m條雙向...

躲避大龍(codevs 1961)

題目描述 description 你早上起來,慢悠悠地來到學校門口,發現已經是八點整了!這句話裡有乙個比較重要的條件 學校共有n個地點,編號為1 n,其中1號為學校門口 也就是你現在所處的位置 2號為你的教室 也就是你的目的地 這些地點之間有m條雙向道路,對於第i條道路,為了不引起值周隊老師的懷疑,...

codevs1961 躲避大龍 spfa

題目描述 description 你早上起來,慢悠悠地來到學校門口,發現已經是八點整了!這句話裡有乙個比較重要的條件 學校共有n個地點,編號為1 n,其中1號為學校門口 也就是你現在所處的位置 2號為你的教室 也就是你的目的地 這些地點之間有m條雙向道路,對於第i條道路,為了不引起值周隊老師的懷疑,...