藍橋杯第八屆決賽

2021-09-30 21:02:02 字數 1577 閱讀 8612

精神狀態不好的時候怎麼寫**???????????????????????(真的哭了,一堆sb錯誤

對於16進製制,我們使用字母a-f來表示10及以上的數字。

如法炮製,一直用到字母z,就可以表示36進製。

36進製中,a表示10,z表示35,aa表示370

你能算出 many 表示的數字用10進製表示是多少嗎?

請提交乙個整數,不要填寫任何多餘的內容(比如,說明文字)

36*36*36*  +36*36* +36* +

小明家的一面裝飾牆原來是 3*10 的小方格。

現在手頭有一批剛好能蓋住2個小方格的長方形瓷磚。

瓷磚只有兩種顏色:黃色和橙色。

小明想知道,對於這麼簡陋的原料,可以貼出多少種不同的花樣來。

小明有個小小的強迫症:忍受不了任何2*2的小格仔是同一種顏色。

(瓷磚不能切割,不能重疊,也不能只鋪一部分。另外,只考慮組合圖案,請忽略瓷磚的拼縫)

顯然,對於 2*3 個小格仔來說,口算都可以知道:一共10種貼法,如【p1.png所示】

但對於 3*10 的格仔呢?肯定是個不小的數目,請你利用計算機的威力算出該數字。

注意:你需要提交的是乙個整數,不要填寫任何多餘的內容(比如:說明性文字)

爆搜,橫著和豎著,然後從左到右從上到下搜,爆搜要注意hash判重啊,? (sb沒有初始化就求和

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define int long long

int vis[50][50];

int n=3,m=10;int ans=0;

maphash;

void dfs(int h,int l)

}if(tag) break;

} if(!tag)

if(hash[sss]==0) hash[sss]++,ans++;

} return ;

} if(vis[h][l])

int th=h+1,tl=l;

if(th<=n&&!vis[th][tl])

th=h,tl=l+1;

if(tl<=m&&!vis[th][tl])

}signed main()

if (x > m && y <= m)

if (x <= m && y > m)

if (x > m && y > m)

}int main()

注意:只填寫劃線處缺少的內容,不要填寫已有的**或符號,也不要填寫任何解釋說明文字等。

這題也有點搞, 因為他進來的時候是右上角進來,相當於原圖的坐下角,退一下應該也還是可以出來。

m+1-y

發現環:dfs+並查集 或 拓撲排序

對局匹配: 桶歸類後,對相差為k的dp就行了。**見之前部落格

第八屆藍橋杯決賽總結

最後只得了個國三安慰獎,心裡遺憾也不遺憾。省賽結束後就一直沒認真刷過題,國三也是意料之中吧。比賽題目也是中規中矩,只是自己沒好好準備。第一題很簡單的簽到題。第二題其實之前做過很多態別題,dfs,然而由於自己太久沒做題,沒手感沒題感,寫了近乙個小時,還是沒能出結果。第三題 補全題,類似生成樹,前幾屆決...

2017第八屆藍橋杯決賽 對局匹配

小明發現 的自動對局系統在匹配對手時,只會將積分差恰好是k的兩名使用者匹配在一起。如果兩人分差小於或大於k,系統都不會將他們匹配。現在小明知道這個 總共有n名使用者,以及他們的積分分別是a1,a2,an。第一行包含兩個個整數n和k。第二行包含n個整數a1,a2,an。對於30 的資料,1 n 10 ...

第八屆藍橋杯決賽 發現並輸出環

解題演算法 並查集 向上找祖先 大體思路 先用並查集查詢u v兩個點的祖先是不是同乙個 1 如果不是則合併兩棵樹。2 如果是則表示現在能夠構成環,根據u,v兩個點分別向上查詢其到祖先的路徑,在遍歷兩條路徑,當有公共節點的時候就表示u,v兩個點的最近公共祖先,也是構成環的最開始的節點,從這裡開始將兩條...