天下第一
時間限制:1000 ms | 記憶體限制:65535 kb
難度:3
描述 ac_grazy一直對江湖羨慕不已,嚮往著大碗吃肉大碗喝酒的豪情,但是「人在江湖漂,怎能
不挨刀」,」人在江湖身不由己」,如果自己的武功太差,在江湖會死的很慘,但是ac_grazy沒有
武功秘籍練不了絕世武功.有道是「山重水複疑無路,柳暗花明又一村」,在ac_grazy家裡面
竟然藏著一本書,書名竟然叫做【超級外掛程式】,竟然能在各種武功之間進行轉化,據說是他爺
爺的爺爺的…爺爺傳下來的…
閒著無事便拿來看看,只看一眼便再也停不下了,只見上面寫著「縱橫武林打遍天下無敵手武功心法秘籍收錄」.
翻開第一篇一看竟然是【降龍十八掌】…
心法只是乙個修練武功的途徑,重要的是真氣的多少,於是他便想利用外掛程式讓武功之間進行轉
化,來讓真氣無限增加,但是這個心法只能按照順序轉化,我們分別用 1號和2號來代替兩種** 當然轉化會有一定的轉化率f
比如1 0.5 2 便是把 1的一半真氣轉化給2 ,為了簡化問題,我們每次都從1號秘籍開始進行轉化,如果其中乙個秘籍轉化斷了,那麼以後的**就不能轉換。
輸入 輸入:首先輸入乙個數 t(t<=20)表示t組資料
然後輸入兩個數n(2<=n<=500)和m(1=示有n種秘籍,隨後的m行分別輸入
秘籍u(n>=u>0) 轉化率 f (0模板來一發
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=505;//點的數量
const
int inf=0x3f3f3f3f;
struct node
*list[maxn];//鍊錶模擬鄰接表
void add_edge(int u,int v,double w)
void init_list(int n)//傳入點的數量
}}double dis[maxn];//距離
int vis[maxn];//點是否在佇列中
int num[maxn];//點入隊次數
int n;//點的數量
int m;//邊的數量
bool spfa(int star)//求star到各點最短路
dis[star]=1.0;//自己到自己的距離初始化為0
vis[star]=1;
num[star]++;
queue
q;q.push(star);
while(!q.empty())}}
}return
false;
}int main()
spfa(1)?printf("yes\n"):printf("no\n");
init_list(n);
}return
0;}
nyoj973天下第一
天下第一 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述ac grazy一直對江湖羨慕不已,嚮往著大碗吃肉大碗喝酒的豪情,但是 人在江湖漂,怎能 不挨刀 人在江湖身不由己 如果自己的武功太差,在江湖會死的很慘,但是ac grazy沒有 武功秘籍練不了絕世武功.有道是 山重水複...
nyoj 973 天下第一(SPFA判斷負環)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 ac grazy一直對江湖羨慕不已,嚮往著大碗吃肉大碗喝酒的豪情,但是 人在江湖漂,怎能 不挨刀 人在江湖身不由己 如果自己的武功太差,在江湖會死的很慘,但是ac grazy沒有 武功秘籍練不了絕世武功.有道是 山重水複疑無路,...
NYOJ973天下第一 最長路判環
題目鏈結 注意 如果可以無限 增加真氣輸出yes否則輸出no 我直接忽略了這一點,以為只要能一直流傳就可以了,只要這個圖是個強連通圖就行了,以為轉化率是沒用的資料。第一次是提交也不提示wc,一直提示的runtime我也找不到 錯了。最後看了下同學的才發現我理解錯題意了,學到了新知識,用spfa判環,...