第十一屆藍橋杯a組省賽第二場-填空題四
題意
小藍要用七段碼數碼管來表示一種特殊的文字。
上圖給出了七段碼數碼管的乙個圖示,數碼管中一共有 7 段可以發光的二
極管,分別標記為 a, b, c, d, e, f, g。
小藍要選擇一部分二極體(至少要有乙個)發光來表達字元。在設計字元
的表達時,要求所有發光的二極體是連成一片的。
例如:b 發光,其他二極體不發光可以用來表達一種字元。
例如:c 發光,其他二極體不發光可以用來表達一種字元。這種方案與上
一行的方案可以用來表示不同的字元,儘管看上去比較相似。
例如:a, b, c, d, e 發光,f, g 不發光可以用來表達一種字元。
例如:b, f 發光,其他二極體不發光則不能用來表達一種字元,因為發光
的二極體沒有連成一片。
請問,小藍可以用七段碼數碼管表達多少種不同的字元?
題解由題意建圖,二進位制列舉所有情況,然後再判斷每一種情況是否為乙個連通圖。
連通圖的判定方法有很多,在此我就說兩個:dfs和並查集。
dfs
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
//extern "c"
typedef
long
long ll;
typedef
long
double ld;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define pii pair
#define lowbit(x) x&-x
const
double pi=
acos(-
1.0)
;const
double eps=
1e-6
;const ll mod=
1e9+7;
const
int inf=
0x3f3f3f3f
;const
int maxn=
1e5+10;
const
int maxm=
100+10;
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
vector<
int> g[10]
;int a[10]
,cnt,book[10]
;void
ddfs
(int u)
}boolf(
)int tmp=0;
for(
int i=
0;isize()
;i++)}
if(tmp==1)
return
true
;return
false;}
void
dfs(
int num)
a[num]=0
;dfs
(num+1)
; a[num]=1
;dfs
(num+1)
;}intmain()
並查集
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
extern
"c"typedef
long
long ll;
typedef
long
double ld;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define pii pair
#define lowbit(x) x&-x
const
double pi=
acos(-
1.0)
;const
double eps=
1e-6
;const ll mod=
1e9+7;
const
int inf=
0x3f3f3f3f
;const
int maxn=
1e5+10;
const
int maxm=
100+10;
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
vector<
int> g[10]
;int a[10]
,cnt,f[10]
;int
find
(int x)
;bool
judge()
}int fa=
find
(p[0])
;for
(int i=
1;isize()
;i++
)return
true;}
void
dfs(
int num)
a[num]=0
;dfs
(num+1)
; a[num]=1
;dfs
(num+1)
;}intmain()
藍橋杯第十一屆省賽試題(第二場)
關於dac輸出,可用電壓表測量開發板j3排針的 d a 和 gnd 兩個引腳 主函式 include stc15f2k60s2.h include key.h include hardware.h include onewire.h include iic.h typedef unsigned ch...
第十一屆藍橋杯python組第二場省賽 排序
1.問題描述 小藍最近學習了一些排序演算法,其中氣泡排序讓他印象深刻。在氣泡排序中,每次只能交換相鄰的兩個元素。小藍發現,如果對乙個字串中的字元排序,只允許交換相鄰的兩個字元,則在所有可能的排序方案中,氣泡排序的總交換次數是最少的。例如,對於字串 lan 排序,只需要 1 次交換。對於字串 qiao...
第十一屆藍橋杯python組第二場省賽 單詞分析
1.問題描述 小藍正在學習一門神奇的語言,這門語言中的單詞都是由小寫英文本母組成,有些單詞很長,遠遠超過正常英文單詞的長度。小藍學了很長時間也記不住一些單詞,他準備不再完全記憶這些單詞,而是根據單詞中哪個字母出現得最多來分辨單詞。現在,請你幫助小藍,給了乙個單詞後,幫助他找到出現最多的字母和這個字母...