如圖所示, 有12張連在一起的12生肖的郵票。
現在你要從中剪下5張來,要求必須是連著的。
(僅僅連線乙個角不算相連)
比如,如圖所示,粉紅色所示部分就是合格的剪取。
解題思路就是dfs出5個數出來,也就是12個數選5個數。
再判斷連通性,判斷是否連通。
模擬乙個矩形出來。找到行和列與填的數字的關係
值的行等於(number - 1) / 4 + 1
值得列等於(number % 4)
這個地方特判一下,如果這個列為0,其實是第四列,直接賦值為第四列就可以啦
賦值完矩陣之後再進行一次dfs判斷是否連通。這個地方得dfs和模板差不多了,就是開乙個變數如果到達5,那麼就是連通。再進行計數即可。
**部分:
這麼分析之後是不是簡單了呢?嘻嘻嘻
#include
#define mst(a, n) memset(a, n, sizeof(a))
using
namespace std;
int cnt;
int a[10]
;int vis[15]
;int m[4]
[5];
int dir[4]
[2]=
,,,}
;int sum;
void
check_dfs
(int x,
int y)
int tx, ty;
for(
int i =
0; i <
4; i++)}
}bool
check()
m[tx]
[ty]=1
;}check_dfs
(tx, ty);if
(sum ==5)
return
false;}
void
dfs(
int n)
return;}
for(
int i = a[n -1]
+1; i <=
12; i++)}
}int
main()
2023年第七屆藍橋杯C B組F題
如圖,如下的10個格仔,填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。這道題也是組合問題啦 next permutation解決,分分鐘啊哈哈哈 就是judge的時候有點點麻煩,但是很直觀,超簡單的啦 我標記的時候是這...
2023年第七屆藍橋杯C B組H題
四平方和定理,又稱為拉格朗日定理 每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。比如 5 0 2 0 2 1 2 2 2 7 1 2 1 2 1 2 2 2 符號表示乘方的意思 對於乙個給定的正整數,可能存在多種平方和的表示法。要求你對4個數排序 0...
2023年第七屆藍橋杯省賽C B組C題
這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?好了看到這道題的第一眼我想的是搜尋。其實搜尋可以。但是排列更加簡單。用next permutation 嘻嘻嘻暴力算一下就可...