題目描述:如【圖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 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...