2016 藍橋杯 剪郵票 dfs

2021-10-24 03:39:39 字數 1186 閱讀 2302

這是2023年藍橋杯c語言省賽b組的第七題

題目:

如下圖, 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。(僅僅連線乙個角不算相連)

比如,下面兩張圖中,粉紅色所示部分就是合格的剪取。

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

輸出:

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

oj鏈結

思路:

通過對上圖的觀察我們可以發現,如果滿足題意,則各郵票的相連郵票數量之和一定大於等於8,且每個郵票都有相連郵票。(上面兩個圖的相連數量之和都為8,如果剪12567的話相連數量就是9)按照這個規律我們就可以用雙重迴圈來搜尋答案了。

ac**:

#include

using

namespace std;

int temp=

;int shuzu[5]

;int ans=0;

/*1 2 3 4

6 7 8 9

11 12 13 14

*/bool

judge()

}if(flag==0)

//如果是孤立點 沒有相連點位 就直接返回false

count+

=flag;

//加上連線數 }if

(count<8)

//如果連線數小於8 則說明5個點位沒有相互相鄰

//printf("%d %d %d %d %d\n",shuzu[0],shuzu[1],shuzu[2],shuzu[3],shuzu[4]);

return

true;}

intmain()

}}}}

} cout<

return0;

}

藍橋杯2016初賽 剪郵票 DFS

如下圖,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 求多少種剪法。間接相當於求路徑 條數 方法數等,所以我們可以很容易的想到利用 dfs 來做。但是我沒有考慮到的是,該題的圖三 下圖 這種走法 t型呀 型呀等 dfs是走不到的,dfs最直觀的就...

DFS 藍橋杯試題 剪郵票

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

藍橋杯2016初賽 剪郵票

題目描述 如下圖,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,下面兩張圖中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。輸出請填寫表示方案數目的整數。思想 一看資料量應該就知道是乙個簡單的 dfs 或者 bfs 的...