2017藍橋杯整理

2021-10-05 01:15:54 字數 4219 閱讀 5685

1.簡單深搜

#include

#include

using

namespace std;

string data[10]

;int ans;

int vis[10]

[10];

//標記

bool

solve

(int i,

int j)

}int

main()

cout<

return0;

}

有9只盤子,排成1個圓圈。

其中8只盤子內裝著8只蚱蜢,有乙個是空盤。

我們把這些蚱蜢順時針編號為 1~8

每只蚱蜢都可以跳到相鄰的空盤中,

也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。

請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,

並且保持空盤的位置不變(也就是1-8換位,2-7換位,…),至少要經過多少次跳躍?

注意:要求提交的是乙個整數,請不要填寫任何多餘內容或說明文字。

1.寬搜

2.用陣列模擬狀態

#include

//寬搜

#include

#include

#include

#include

using

namespace std;

char

*start=

"012345678"

;char

*target=

"087654321"

;struct stateandlevel};

struct cmp};

queue q;

set<

char

*,cmp>allstate;

void

swap

(char

*s,int a,

int b)

void

addnei

(char

*state,

int pos,

int new_pos,

int le)

}int

main()

int pos0=sal.pos0;

allstate.

insert

(state)

;//新增鄰居左一

int new_pos=

(pos0-1+

9)%9

;addnei

(state,pos0,new_pos,le)

;//新增左二

new_pos=

(pos0-2+

9)%9

;addnei

(state,pos0,new_pos,le)

;//新增右一

new_pos=

(pos0+1+

9)%9

;addnei

(state,pos0,new_pos,le)

;//新增右二

new_pos=

(pos0+2+

9)%9

;addnei

(state,pos0,new_pos,le)

; q.

pop();

}return0;

}

這道題不會

6x6的方格,沿著格仔的邊線剪開成兩部分。

要求這兩部分的形狀完全相同。

如圖4-1,4-2,4-3:就是可行的分割法。

試計算:

包括這3種分法在內,一共有多少種不同的分割方法。

注意:旋轉對稱的屬於同一種分割法。

請提交該整數,不要填寫任何多餘的內容或說明文字。

1.二分

#include

#include

using

namespace std;

char s[

100]

;int len;

int pos;

//求出當前字串,自當前下標到結束能匹配的字串長度

intf()

else

if(s[pos]

=='x'

)else

if(s[pos]

=='|'

)else

if(s[pos]

==')')}

m=max

(m,tmp)

;return m;

}int

main()

兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。

小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。

為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足:

1. 形狀是正方形,邊長是整數

2. 大小相同

例如一塊6x5的巧克力可以切出6塊2x2的巧克力或者2塊3x3的巧克力。

當然小朋友們都希望得到的巧克力盡可能大,你能幫小hi計算出最大的邊長是多少麼?

1.二分查詢

#include

//列舉 優化

using

namespace std;

intmain()

//int len=100000;

int r=

100001

;int l=1;

int ans=0;

while

(l<=r)

if(cnt>=k)

else r=mid-1;

} cout<

return0;

}

x星球的一批考古機械人正在一片廢墟上考古。

該區域的地面堅硬如石、平整如鏡。

管理人員為方便,建立了標準的直角座標系。

每個機械人都各有特長、身懷絕技。它們感興趣的內容也不相同。

經過各種測量,每個機械人都會報告乙個或多個矩形區域,作為優先考古的區域。

矩形的表示格式為(x1,y1,x2,y2),代表矩形的兩個對角點座標。

為了醒目,總部要求對所有機械人選中的矩形區域塗黃色油漆。

小明並不需要當油漆工,只是他需要計算一下,一共要耗費多少油漆。

其實這也不難,只要算出所有矩形覆蓋的區域一共有多大面積就可以了。

注意,各個矩形間可能重疊。

本題的輸入為若干矩形,要求輸出其覆蓋的總面積。

1.線段樹問題

2.現只會列舉

#include

using

namespace std;

int n,sum;

bool p[

10005][

10005];

void

paint

(int x1,

int y1,

int x2,

int y2)

intmain()

for(

int i=

0;i<

10005

;i++

)for

(int j=

0;j<

10005

;j++)if

(p[i]

[j]==

1) sum++

; cout<

}

2015藍橋杯整理

1.數學思維 include using namespace std intmain ans n cout 小明被劫持到x賭城,被迫與其他3人玩牌。一副撲克牌 去掉大小王牌,共52張 均勻發給4個人,每個人13張。這時,小明腦子裡突然冒出乙個問題 如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先...

2017a組藍橋杯

2,3,5,7,11,13,是素數序列。類似 7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。2004年,格林與華人陶哲軒合作證明了 存在任意長度的素數等差數列。這是數論領域一項驚人的成果!有這一理論為基礎,請你借助手中的計算機,滿...

2017 藍橋杯 迷宮(dfs)

x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他們更喜歡玩運氣類...