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