藍橋杯 剪郵票 連通塊

2021-09-13 20:04:06 字數 1065 閱讀 6044

題目要求:

剪郵票如【圖1.jpg】, 有12張連在一起的12生肖的郵票。

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

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

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

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

解題思路:dfs,先找出五個點再判斷是否符合題目要求

建立乙個map一維陣列,同時重構該陣列,確保乙個點上下相鄰點距離為+5,-5,左右相鄰點距離為+1,-1;同時也能確保換行之後相差不為1

不用設定回溯出口

#include #include #include #include #include #include #define ll long long

#define inf 0x3f3f3f3f

#define maxsize 10050

using namespace std;

int record[5];//儲存當前五個點資訊

int map[12]=;

bool mark[5]=;//代表record中點是否被遍歷

int aa[4]=;//向四個方向遍歷

int sum=0;

void dfs_camp_1(int k)

} }}int main()

}if(flag)

}cout<

return 0;

}

藍橋杯 剪郵票

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

藍橋杯 剪郵票

這道題,第一眼看知道是從12個數中選擇5個,然後dfs,但是就是不知道怎麼寫才好,看了一些別人寫的,大部分都是用c c 寫的,參考別人的,再自己修改,寫了這樣的,應該算是很好理解的,附上參考的package lanqiaocuprealtest 這裡也和別人的一樣,把數字改過了,5,6,7,8,改為...

藍橋杯 剪郵票

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