第七屆藍橋杯省賽A7 剪郵票

2021-10-05 19:16:52 字數 1363 閱讀 8767

題目描述:如【圖1.jpg】, 有12張連在一起的12生肖的郵票。

現在你要從中剪下5張來,要求必須是連著的。

(僅僅連線乙個角不算相連)

比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。

請你計算,一共有多少種不同的剪取方法。

請填寫表示方案數目的整數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

思路分析

全排列加連通塊判斷。初始化乙個3*4的二維陣列,然後任選五個位置(保證後面不重複),最後判斷這五個位置是否連通即可。

具體實現

首先是從12個數中選擇5個數,我們可以初始化乙個一維陣列b=,陣列b的各個全排列陣列中始終有五個數為1,根據這五個數的一維陣列標號找到對應的二維陣列編號,並將該位置置為1,這樣每次排列都會找到五個位置。

然後判斷是否連通,首先找到第乙個為1的位置,從該位置出發,尋找四個方向上為1且沒被訪問的點繼續深搜。

**:

#include

using

namespace std;

int dir[4]

[2]=

,,,}

;bool vis[3]

[4]=

;int b[15]

,res;

int maze[3]

[4];

boolin(

int x,

int y)

//判斷連通性

void

dfs(

int x,

int y)}}

intmain()

;//12選5 do}

}int ans=0;

for(

int i=

0;i<

3;i++)}

}if(ans==1)

}while

(next_permutation

(b,b+12)

);cout<

return0;

}

最終答案:116

第七屆藍橋杯省賽7 剪郵票

如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...

第七屆 A7 剪郵票

剪郵票 如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何...

第七屆藍橋杯省賽剪郵票

如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...