球隊「食物鏈」

2021-10-05 18:06:06 字數 949 閱讀 2870

某國的足球聯賽中有n支參賽球隊,編號從1至n。聯賽採用主客場雙迴圈賽制,參賽球隊兩兩之間在雙方主場各賽一場。聯賽戰罷,結果已經塵埃落定。此時,聯賽主席突發奇想,希望從中找出一條包含所有球隊的「食物鏈」,來說明聯賽的精彩程度。「食物鏈」為乙個1至nnn的排列,滿足:球隊t1戰勝過球隊t2t_2t​2​​,球隊t2戰勝過球隊t3,球隊t(n−1)​​戰勝過球隊tn,球隊tn戰勝過球隊t1​​。現在主席請你從聯賽結果中找出「食物鏈」。若存在多條「食物鏈」,請找出字典序最小的。

注:排列在字典序上小於排列,當且僅當存在整數k(1≤k≤n),滿足:ak#include

using

namespace std;

int n, flag =0;

int result[21]

;bool v[21]

[21], visit[21]

;void

dfs(

int index,

int num)

result[index]

= num;

if(index == n && v[num][1

]==true)if

(index == n)

bool cut =

false

;for

(int i =

1; i <= n; i++)}

if(cut ==

false

) visit[num]

=true

;for

(int i =

1; i <= n; i++)}

visit[num]

=false;}

intmain()

if(s[j]

=='l')}

}dfs(1

,1);

if(flag ==1)

}else

return0;

}

天梯賽 球隊「食物鏈」

搜尋,狀壓判重 f s i 狀態為s,i為最後乙個 用f記錄某個狀態是不是已經不合法了 因為對於乙個有x位的狀態t,確定好最後乙個,有 x 1 種方式搜尋的這一狀態 因為只有最後乙個才會影響後面,所以他們的後效性都是一樣的 includeusing namespace std intn,full c...

L3 015 球隊「食物鏈」

時間限制 1000 ms 記憶體限制 262144 kb 長度限制 8000 b 判題程式 standard 作者 李文新 北京大學 某國的足球聯賽中有n支參賽球隊,編號從1至n。聯賽採用主客場雙迴圈賽制,參賽球隊兩兩之間在雙方主場各賽一場。聯賽戰罷,結果已經塵埃落定。此時,聯賽主席突發奇想,希望從...

7 15 球隊「食物鏈」 DFS 剪枝)

某國的足球聯賽中有n支參賽球隊,編號從1至n。聯賽採用主客場雙迴圈賽制,參賽球隊兩兩之間在雙方主場各賽一場。聯賽戰罷,結果已經塵埃落定。此時,聯賽主席突發奇想,希望從中找出一條包含所有球隊的 食物鏈 來說明聯賽的精彩程度。食物鏈 為乙個1至n的排列,滿足 球隊t 1 戰勝過球隊t 2 球隊t 2 戰...