nyoj973天下第一

2021-07-15 20:57:08 字數 1205 閱讀 5072

天下第一

時間限制: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==u>0) 轉化率 f (0no

題意,求圖中是否存在乙個環,環的轉化率的乘積大於1,則可以一直轉圈使得功力一直增加。dfs判斷即可,一路深搜,記錄走過的路徑,標記路過的節點,如果訪問到了標記的頂點,說明出現了環,沿著環,結合記錄的邊資訊,判斷轉化率乘積,由於dfs搜尋到了所有的路徑,所以不會有任何遺漏,dfs結束,則判斷結束

my code

#include #include #include #include #include using namespace std;

const int maxn = 505;

const int inf = 0x3f3f3f3f;

struct edge

};vectoredge;

vectorg[maxn];

vectorpath;

bool vis[maxn];

int n,m;

bool ans;

void check(int rt)

}void dfs(int rt){

if(ans) return;

for(int i=0; i

NYOJ 973 天下第一(SPFA判環)

天下第一 時間限制 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判環,...