2020藍橋杯B組省賽 E 七段碼

2022-06-01 13:48:09 字數 1087 閱讀 5826

題解

正規解法是 dfs + 並查集,首先用 dfs 將其所有的情況列舉出來,再用並查集來判斷是否在乙個連通塊上。

許多小夥伴計算的答案為76,主要是判斷連通塊這方面有問題,倘若不用並查集,直接列舉一條邊是否和其餘剩下的邊相連,是就成立,不是就可以直接退出了,但是有乙個問題是例如兩個連通塊的時候你上述的判斷也是成立的,但是不處於同乙個連通塊中,所以不應該加上去。

1 #include 2 #include 3

using

namespace

std;45

const

int maxn = 25;6

int n = 7, ans = 0

, path[maxn], f[maxn][maxn], father[maxn];78

//查詢 x 的祖先節點

9int find(int

x)10

14return

father[x];15}

1617

void dfs(int u, int p, int

m)18

24//

集合合併

25for (int i = 0; i < m; ++i) 32}

33}34//

查詢最終是否為乙個集合

35bool flag = false;36

for (int i = 0; i < m - 1; ++i) 41}

4243

if (!flag)

46return;47

}48for (int i = p; i <= n; ++i) 52}

5354

intmain()

5570 cout << ans <

71return0;

72 }

但是當時還是沒有做出來/(ㄒoㄒ)/~~哭鼻子。

藍橋杯 七段碼

小藍要用七段碼數碼管來表示一種特殊的文字。上圖給出了七段碼數碼管的乙個圖示,數碼管中一共有 7 段可以發光的二極體,分別標記為 a,b,c,d,e,f,g。小藍要選擇一部分二極體 至少要有乙個 發光來表達字元。在設計字元的表達時,要求所有發光的二極體是連成一片的。例如 b 發光,其他二極體不發光可以...

藍橋杯 七段碼

題目描述 小藍要用七段碼數碼管來表示一種特殊的文字。上圖給出了七段碼數碼管的乙個圖示,數碼管中一共有 7 段可以發光的二 極管,分別標記為 a,b,c,d,e,f,g。小藍要選擇一部分二極體 至少要有乙個 發光來表達字元。在設計字元 的表達時,要求所有發光的二極體是連成一片的。例如 b 發光,其他二...

藍橋杯 七段碼 並查集

今天學到了乙個新的演算法 並查集 不得不說 太好用惹!嗷!所以先來復盤一下並查集的思路 我在網上找了乙個很生動的解釋,講的非常好,又能聽懂知識點,又能記得牢,附上原博連線 這是個鏈結 他是以武林為例講的並查集,並查集的作用呢,就是看乙個圖里的連通分支有幾個,如果是乙個,就代表連通圖 如果是兩個,就要...