2020第十一届蓝桥杯C/C++国赛B组
文章目錄
- 試題 A: 美麗的 2
- 試題 B: 擴(kuò)散
- 試題 C: 階乘約數(shù)
- 試題 D: 本質(zhì)上升序列
- 試題 E: 玩具蛇
- 試題 F: 皮亞諾曲線距離
- 試題 G: 游園安排
- 試題 H: 答疑
- 試題 I: 出租車
- 試題 J: 質(zhì)數(shù)行者
試題 A: 美麗的 2
本題總分:5 分
【問(wèn)題描述】
小藍(lán)特別喜歡 2,今年是公元 2020 年,他特別高興。
他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少個(gè)年份的數(shù)位中包含數(shù)字 2?
題解
簽到題
答案:563
試題 B: 擴(kuò)散
本題總分:5 分
【問(wèn)題描述】
小藍(lán)在一張無(wú)限大的特殊畫布上作畫。
這張畫布可以看成一個(gè)方格圖,每個(gè)格子可以用一個(gè)二維的整數(shù)坐標(biāo)表示。
小藍(lán)在畫布上首先點(diǎn)了一下幾個(gè)點(diǎn):(0, 0), (2020, 11), (11, 14), (2000, 2000)。
只有這幾個(gè)格子上有黑色,其它位置都是白色的。
每過(guò)一分鐘,黑色就會(huì)擴(kuò)散一點(diǎn)。具體的,如果一個(gè)格子里面是黑色,它
就會(huì)擴(kuò)散到上、下、左、右四個(gè)相鄰的格子中,使得這四個(gè)格子也變成黑色
(如果原來(lái)就是黑色,則還是黑色)。
請(qǐng)問(wèn),經(jīng)過(guò) 2020 分鐘后,畫布上有多少個(gè)格子是黑色的
題解
試題 C: 階乘約數(shù)
本題總分:10 分
【問(wèn)題描述】
定義階乘 n! = 1 × 2 × 3 × · · · × n。
請(qǐng)問(wèn) 100! (100 的階乘)有多少個(gè)約數(shù)。
題解
(本來(lái)我推出來(lái)是2^(n-1),看答案發(fā)現(xiàn)錯(cuò)了)
數(shù)論:
6的約數(shù)(1,2,3,6),6=23(質(zhì)因數(shù)分解),約數(shù)個(gè)數(shù)為:(1+1)(1+1)——2質(zhì)數(shù)個(gè)數(shù)乘3質(zhì)數(shù)個(gè)數(shù)
24的約數(shù)(1,2,3,4,6,8,12,24) 24=2223 ,約數(shù)個(gè)數(shù)為:(3+1)(1+1)
就是質(zhì)因數(shù)分解,由于階乘的數(shù)很大我們不能直接對(duì)其進(jìn)行質(zhì)因數(shù)分解,只能對(duì)組成它的數(shù)進(jìn)行質(zhì)因數(shù)分解(1—100)
該質(zhì)因數(shù)分解的代碼:
任何非質(zhì)數(shù)都是由質(zhì)數(shù)組成我們從最小的質(zhì)數(shù)2開(kāi)始分解就解決了后面非質(zhì)數(shù)的問(wèn)題,如:4就可以被兩個(gè)質(zhì)數(shù)2分解,24就是3個(gè)質(zhì)數(shù)2,1個(gè)質(zhì)數(shù)3.
答案:39001250856960000
#include <stdio.h> #include <stdlib.h>int main() {int num[101]={0},i,j;for(i=2;i<=100;i++){int t=i;j=2;while(t>1){if(t%j==0){num[j]++;t/=j;}elsej++;}}long long int ans=1;for(i=2;i<=100;i++){printf("%d:%d\n",i,num[i]);if(num[i]!=0)ans*=(num[i]+1);}printf("%lld",ans);return 0; }試題 D: 本質(zhì)上升序列
問(wèn)題描述】
小藍(lán)特別喜歡單調(diào)遞增的事物。
在一個(gè)字符串中,如果取出若干個(gè)字符,將這些字符按照在字符串中的順序排列后是單調(diào)遞增的,則成為這個(gè)字符串中的一個(gè)單調(diào)遞增子序列。
例如,在字符串 lanqiao 中,如果取出字符 n 和 q,則 nq 組成一個(gè)單調(diào)遞增子序列。類似的單調(diào)遞增子序列還有 lnq、i、ano 等等。
小藍(lán)發(fā)現(xiàn),有些子序列雖然位置不同,但是字符序列是一樣的,例如取第二個(gè)字符和最后一個(gè)字符可以取到 ao,取最后兩個(gè)字符也可以取到 ao。小藍(lán)認(rèn)為他們并沒(méi)有本質(zhì)不同。
對(duì)于一個(gè)字符串,小藍(lán)想知道,本質(zhì)不同的遞增子序列有多少個(gè)?
例如,對(duì)于字符串 lanqiao,本質(zhì)不同的遞增子序列有 21 個(gè)。它們分別是 l、a、n、q、i、o、ln、an、lq、aq、nq、ai、lo、ao、no、io、lnq、
anq、lno、ano、aio。
請(qǐng)問(wèn)對(duì)于以下字符串(共 200 個(gè)小寫英文字母,分四行顯示):如果你把以下文字復(fù)制到文本文件中,請(qǐng)務(wù)必檢查復(fù)制的內(nèi)容是否與文檔中的一致。在試題目錄下有一個(gè)文件 inc.txt,內(nèi)容與下面的文本相同)
tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhf
iadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqij
gihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmad
vrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl
本質(zhì)不同的遞增子序列有多少個(gè)?
題解
LIS問(wèn)題加上簡(jiǎn)單的去重:
LIS問(wèn)題可以看看我之前寫的博客:https://blog.csdn.net/m0_52103105/article/details/116404276?spm=1001.2014.3001.5501
答案:3616159
#include <stdio.h> #include <stdlib.h> #include <string.h>int main() {char str[202];scanf("%s",str);int i,j,k;int dp[202],len=strlen(str);for(i=0;i<len;i++){int flag=1;for(j=0;j<i;j++)if(str[i]==str[j])flag=0;if(flag)dp[i]=1;elsedp[i]=0;}for(i=1;i<len;i++){for(j=0;j<i;j++)if(str[i]>str[j]){int flag=1;for(k=j+1;k<i;k++)if(str[k]==str[i])flag=0;if(flag)dp[i]+=dp[j];}printf("%d:%d\n",i,dp[i]);}int ans=0;for(i=0;i<len;i++)ans+=dp[i];printf("%d\n",ans);return 0; }試題 E: 玩具蛇
【問(wèn)題描述】
小藍(lán)有一條玩具蛇,一共有 16 節(jié),上面標(biāo)著數(shù)字 1 至 16。每一節(jié)都是一
個(gè)正方形的形狀。相鄰的兩節(jié)可以成直線或者成 90 度角。
小藍(lán)還有一個(gè) 4×4 的方格盒子,用于存放玩具蛇,盒子的方格上依次標(biāo)著
字母 A 到 P 共 16 個(gè)字母。
小藍(lán)可以折疊自己的玩具蛇放到盒子里面。他發(fā)現(xiàn),有很多種方案可以將
玩具蛇放進(jìn)去。
下圖給出了兩種方案:
題解
送分題了,直接dfs就好了,加個(gè)數(shù)組去重就行。
答案:552
試題 F: 皮亞諾曲線距離
【問(wèn)題描述】
皮亞諾曲線是一條平面內(nèi)的曲線。
下圖給出了皮亞諾曲線的 1 階情形,它是從左下角出發(fā),經(jīng)過(guò)一個(gè) 3×3 的
方格中的每一個(gè)格子,最終到達(dá)右上角的一條曲線.
下圖給出了皮亞諾曲線的 2 階情形,它是經(jīng)過(guò)一個(gè) 3 2 × 3 2 的方格中的每一
個(gè)格子的一條曲線。它是將 1 階曲線的每個(gè)方格由 1 階曲線替換而成。
下圖給出了皮亞諾曲線的 3 階情形,它是經(jīng)過(guò)一個(gè) 3 3 × 3 3 的方格中的每一
個(gè)格子的一條曲線。它是將 2 階曲線的每個(gè)方格由 1 階曲線替換而成。
皮亞諾曲線總是從左下角開(kāi)始出發(fā),最終到達(dá)右上角。
我們將這些格子放到坐標(biāo)系中,對(duì)于 k 階皮亞諾曲線,左下角的坐標(biāo)是
(0,0),右上角坐標(biāo)是 (3 k ? 1,3 k ? 1),右下角坐標(biāo)是 (3 k ? 1,0),左上角坐標(biāo)是
(0,3 k ? 1)。
給定 k 階皮亞諾曲線上的兩個(gè)點(diǎn)的坐標(biāo),請(qǐng)問(wèn)這兩個(gè)點(diǎn)之間,如果沿著皮
亞諾曲線走,距離是到少?
【輸入格式】
輸入的第一行包含一個(gè)正整數(shù) k,皮亞諾曲線的階數(shù)。
第二行包含兩個(gè)整數(shù) x 1 , y 1 ,表示第一個(gè)點(diǎn)的坐標(biāo)。
第三行包含兩個(gè)整數(shù) x 2 , y 2 ,表示第二個(gè)點(diǎn)的坐標(biāo)。
【輸出格式】
輸出一個(gè)整數(shù),表示給定的兩個(gè)點(diǎn)之間的距離。
【樣例輸入】
1
0 0
2 2
【樣例輸出】
8
【樣例輸入】
2
0 2
0 3
【樣例輸出】
13
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于 30% 的評(píng)測(cè)用例,0 ≤ k ≤ 10。
對(duì)于 50% 的評(píng)測(cè)用例,0 ≤ k ≤ 20。
對(duì)于所有評(píng)測(cè)用例,0 ≤ k ≤ 100, 0 ≤ x 1 ,y 1 , x 2 ,y 2 < 3 k , x 1 ,y 1 , x 2 ,y 2 ≤ 10 18 。
數(shù)據(jù)保證答案不超過(guò) 10 18 。
題解
不會(huì),太難了
試題 G: 游園安排
【問(wèn)題描述】
L 星球游樂(lè)園非常有趣,吸引著各個(gè)星球的游客前來(lái)游玩。小藍(lán)是 L 星球
游樂(lè)園的管理員。
為了更好的管理游樂(lè)園,游樂(lè)園要求所有的游客提前預(yù)約,小藍(lán)能看到系
統(tǒng)上所有預(yù)約游客的名字。每個(gè)游客的名字由一個(gè)大寫英文字母開(kāi)始,后面跟
0 個(gè)或多個(gè)小寫英文字母。游客可能重名。
小藍(lán)特別喜歡遞增的事物。今天,他決定在所有預(yù)約的游客中,選擇一部
分游客在上午游玩,其他的游客都在下午游玩,在上午游玩的游客要求按照預(yù)
約的順序排列后,名字是單調(diào)遞增的,即排在前面的名字嚴(yán)格小于排在后面的
名字。
一個(gè)名字 A 小于另一個(gè)名字 B 是指:存在一個(gè)整數(shù) i,使得 A 的前 i 個(gè)字
母與 B 的前 i 個(gè)字母相同,且 A 的第 i+1 個(gè)字母小于 B 的第 i+1 個(gè)字母。(如
果 A 不存在第 i + 1 個(gè)字母且 B 存在第 i + 1 個(gè)字母,也視為 A 的第 i + 1 個(gè)字
母小于 B 的第 i + 1 個(gè)字母)
作為小藍(lán)的助手,你要按照小藍(lán)的想法安排游客,同時(shí)你又希望上午有盡
量多的游客游玩,請(qǐng)告訴小藍(lán)讓哪些游客上午游玩。如果方案有多種,請(qǐng)輸出
上午游玩的第一個(gè)游客名字最小的方案。如果此時(shí)還有多種方案,請(qǐng)輸出第一
個(gè)游客名字最小的前提下第二個(gè)游客名字最小的方案。如果仍然有多種,依此
類推選擇第三個(gè)、第四個(gè)……游客名字最小的方案。
【輸入格式】
輸入包含一個(gè)字符串,按預(yù)約的順序給出所有游客的名字,相鄰的游客名
字之間沒(méi)有字符分隔。
【輸出格式】
按預(yù)約順序輸出上午游玩的游客名單,中間不加任何分隔字符。
【樣例輸入】
WoAiLanQiaoBei
【樣例輸出】
AiLanQiao
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于 20% 的評(píng)測(cè)數(shù)據(jù),輸入的總長(zhǎng)度不超過(guò) 20 個(gè)字母。
對(duì)于 50% 的評(píng)測(cè)數(shù)據(jù),輸入的總長(zhǎng)度不超過(guò) 300 個(gè)字母。
對(duì)于 70% 的評(píng)測(cè)數(shù)據(jù),輸入的總長(zhǎng)度不超過(guò) 10000 個(gè)字母。
對(duì)于所有評(píng)測(cè)數(shù)據(jù),每個(gè)名字的長(zhǎng)度不超過(guò) 10 個(gè)字母,輸入的總長(zhǎng)度不超
過(guò) 1000000 個(gè)字母。
題解
LIS問(wèn)題和上面的本質(zhì)上升子序列差不多。
(糾正個(gè)細(xì)節(jié),圖稿里的i和j應(yīng)該代表當(dāng)前單詞的位置)
試題 H: 答疑
【問(wèn)題描述】
有 n 位同學(xué)同時(shí)找老師答疑。每位同學(xué)都預(yù)先估計(jì)了自己答疑的時(shí)間。
老師可以安排答疑的順序,同學(xué)們要依次進(jìn)入老師辦公室答疑。
一位同學(xué)答疑的過(guò)程如下:
首先進(jìn)入辦公室,編號(hào)為 i 的同學(xué)需要 s i 毫秒的時(shí)間。
然后同學(xué)問(wèn)問(wèn)題老師解答,編號(hào)為 i 的同學(xué)需要 a i 毫秒的時(shí)間。
答疑完成后,同學(xué)很高興,會(huì)在課程群里面發(fā)一條消息,需要的時(shí)間可
以忽略。
最后同學(xué)收拾東西離開(kāi)辦公室,需要 e i 毫秒的時(shí)間。一般需要 10 秒、
20 秒或 30 秒,即 e i 取值為 10000,20000 或 30000。
一位同學(xué)離開(kāi)辦公室后,緊接著下一位同學(xué)就可以進(jìn)入辦公室了。
答疑從 0 時(shí)刻開(kāi)始。老師想合理的安排答疑的順序,使得同學(xué)們?cè)谡n程群
里面發(fā)消息的時(shí)刻之和最小。
【輸入格式】
輸入第一行包含一個(gè)整數(shù) n,表示同學(xué)的數(shù)量。
接下來(lái) n 行,描述每位同學(xué)的時(shí)間。其中第 i 行包含三個(gè)整數(shù) s i , a i , e i ,意
義如上所述。
【輸出格式】
輸出一個(gè)整數(shù),表示同學(xué)們?cè)谡n程群里面發(fā)消息的時(shí)刻之和最小是多少。
【樣例輸入】
3
10000 10000 10000
20000 50000 20000
30000 20000 30000
【樣例輸出】
280000
【樣例說(shuō)明】
按照 1, 3, 2 的順序答疑,發(fā)消息的時(shí)間分別是 20000, 80000, 180000。
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于 30% 的評(píng)測(cè)用例,1 ≤ n ≤ 20。
對(duì)于 60% 的評(píng)測(cè)用例,1 ≤ n ≤ 200。
對(duì)于所有評(píng)測(cè)用例,1 ≤ n ≤ 1000,1 ≤ s i ≤ 60000,1 ≤ a i ≤ 1000000,
e i ∈ {10000,20000,30000},即 e i 一定是 10000、20000、30000 之一。
題解
全排列問(wèn)題,我用的是遞歸法(DFS必定超時(shí)),用c++的可以直接調(diào)用stl的next函數(shù)就行了比我這快多了
試題 I: 出租車
【問(wèn)題描述】
小藍(lán)在 L 市開(kāi)出租車。
L 市的規(guī)劃很規(guī)整,所有的路都是正東西向或者正南北向的,道路都可以看成直線段。東西向的道路互相平行,南北向的道路互相平行,任何一條東西向道路垂直于任何一條南北向道路。
從北到南一共有 n 條東西向道路,依次標(biāo)號(hào)為 H 1 , H 2 , ···, H n 。從西到東一共有 m 條南北向的道路,依次標(biāo)號(hào)為 S 1 , S 2 , ···, S m 。
每條道路都有足夠長(zhǎng),每一條東西向道路和每一條南北向道路都相交,H i與 S j 的交叉路口記為 (i, j)。
從 H 1 和 S 1 的交叉路口 (1,1) 開(kāi)始,向南遇到的路口與 (1,1) 的距離分別
是 h 1 , h 2 , ···, h n?1 ,向東遇到路口與 (1,1) 的距離分別是 w 1 , w 2 , ···, w m?1 。道路的每個(gè)路口都有一個(gè)紅綠燈。
時(shí)刻 0 的時(shí)候,南北向綠燈亮,東西向紅燈亮,南北向的綠燈會(huì)持續(xù)一段
時(shí)間(每個(gè)路口不同),然后南北向變成紅燈,東西向變成綠燈,持續(xù)一段時(shí)間后,再變成南北向綠燈,東西向紅燈。
已知路口 (i, j) 的南北向綠燈每次持續(xù)的時(shí)間為 g ij ,東西向的綠燈每次持
續(xù)的時(shí)間為 r ij ,紅綠燈的變換時(shí)間忽略。
當(dāng)一輛車走到路口時(shí),如果是綠燈,可以直行、左轉(zhuǎn)或右轉(zhuǎn)。如果是紅燈,
可以右轉(zhuǎn),不能直行或左轉(zhuǎn)。如果到路口的時(shí)候剛好由紅燈變?yōu)榫G燈,則視為
看到綠燈,如果剛好由綠燈變?yōu)榧t燈,則視為看到紅燈。
每段道路都是雙向道路,道路中間有隔離欄桿,在道路中間不能掉頭,只
能在紅綠燈路口掉頭。掉頭時(shí)不管是紅燈還是綠燈都可以直接掉頭。掉頭的時(shí)
間可以忽略。
小藍(lán)時(shí)刻 0 從家出發(fā)。今天,他接到了 q 個(gè)預(yù)約的訂單,他打算按照訂單
的順序依次完成這些訂單,就回家休息。中途小藍(lán)不準(zhǔn)備再拉其他乘客。
小藍(lán)的家在兩個(gè)路口的中點(diǎn),小藍(lán)喜歡用 x 1 , y 1 , x 2 , y 2 來(lái)表示自己家的位
置,即路口 (x 1 ,y 1 ) 到路口 (x 2 ,y 2 ) 之間的道路中點(diǎn)的右側(cè),保證兩個(gè)路口相鄰(中間沒(méi)有其他路口)。請(qǐng)注意當(dāng)兩個(gè)路口交換位置時(shí),表達(dá)的是路的不同兩邊,路中間有欄桿,因此這兩個(gè)位置實(shí)際要走比較遠(yuǎn)才能到達(dá)。
小藍(lán)的訂單也是從某兩個(gè)路口間的中點(diǎn)出發(fā),到某兩個(gè)路口間的中點(diǎn)結(jié)束。小藍(lán)必須按照給定的順序處理訂單,而且一個(gè)時(shí)刻只能處理一個(gè)訂單,不能圖省時(shí)間而同時(shí)接兩位乘客,也不能插隊(duì)完成后面的訂單。
小藍(lán)只對(duì) L 市比較熟,因此他只會(huì)在給定的 n 條東西向道路和 m 條南北向道路上行駛,而且不會(huì)駛出 H 1 , H n , S 1 , S m 這幾條道路所確定的矩形區(qū)域(可以到邊界)。小藍(lán)行車速度一直為 1,乘客上下車的時(shí)間忽略不計(jì)。請(qǐng)問(wèn),小藍(lán)最早什么時(shí)候能完成所有訂單回到家。
【輸入格式】
輸入第一行包含兩個(gè)整數(shù) n, m,表示東西向道路的數(shù)量和南北向道路的數(shù)量。
第二行包含 n ? 1 個(gè)整數(shù) h 1 , h 2 , ···, h n?1 。
第三行包含 m ? 1 個(gè)整數(shù) w 1 , w 2 , ···, w m?1 。
接下來(lái) n 行,每行 m 個(gè)整數(shù),描述每個(gè)路口南北向綠燈的時(shí)間,其中的第i 行第 j 列表示 g ij 。
接下來(lái) n 行,每行 m 個(gè)整數(shù),描述每個(gè)路口東西向綠燈的時(shí)間,其中的第i 行第 j 列表示 r ij 。
接下來(lái)一行包含四個(gè)整數(shù) x 1 , y 1 , x 2 , y 2 ,表示小藍(lán)家的位置在路口 (x 1 ,y 1 )到路口 (x 2 ,y 2 ) 之間的道路中點(diǎn)的右側(cè)。
接下來(lái)一行包含一個(gè)整數(shù) q,表示訂單數(shù)量。
接下來(lái) q 行,每行描述一個(gè)訂單,其中第 i 行包含八個(gè)整數(shù) x i1 , y i1 , x i2 , y i2 ,x i3 , y i3 , x i4 , y i4 ,表示第 i 個(gè)訂單的起點(diǎn)為路口 (x i1 ,y i1 ) 到路口 (x i2 ,y i2 ) 之間的道路中點(diǎn)的右側(cè),第 i 個(gè)訂單的終點(diǎn)為路口 (x i3 ,y i3 ) 到路口 (x i4 ,y i4 ) 之間的道路中點(diǎn)的右側(cè)。
【輸出格式】
輸出一個(gè)實(shí)數(shù),表示小藍(lán)完成所有訂單最后回到家的最早時(shí)刻。四舍五入
保留一位小數(shù)。
【樣例輸入】
2 3
200
100 400
10 20 10
20 40 30
20 20 20
20 20 20
2 1 1 1
1
2 2 1 2 1 2 1 3
【樣例輸出】
1620.0
【樣例說(shuō)明】
小藍(lán)有一個(gè)訂單,他的行車路線如下圖所示。其中 H 表示他家的位置,S
表示訂單的起點(diǎn),T 表示訂單的終點(diǎn)。小明在最后回家時(shí)要在直行的紅綠燈路
口等綠燈,等待時(shí)間為 20。
題解
太長(zhǎng)了不想看
試題 J: 質(zhì)數(shù)行者
【問(wèn)題描述】
小藍(lán)在玩一個(gè)叫質(zhì)數(shù)行者的游戲。
游戲在一個(gè) n×m×w 的立體方格圖上進(jìn)行,從北到南依次標(biāo)號(hào)為第 1 行到
第 n 行,從西到東依次標(biāo)號(hào)為第 1 列到第 m 列,從下到上依次標(biāo)號(hào)為第 1 層到第 w 層。
小藍(lán)要控制自己的角色從第 1 行第 1 列第 1 層移動(dòng)到第 n 行第 m 列第 w層。每一步,他可以向東走質(zhì)數(shù)格、向南走質(zhì)數(shù)格或者向上走質(zhì)數(shù)格。每走到一個(gè)位置,小藍(lán)的角色要稍作停留。
在游戲中有兩個(gè)陷阱,分別為第 r 1 行第 c 1 列第 h 1 層和第 r 2 行第 c 2 列第h2 層。這兩個(gè)陷阱的位置可以跨過(guò),但不能停留。也就是說(shuō),小藍(lán)不能控制角色某一步正好走到陷阱上,但是某一步中間跨過(guò)了陷阱是允許的。
小藍(lán)最近比較清閑,因此他想用不同的走法來(lái)完成這個(gè)游戲。所謂兩個(gè)走法不同,是指小藍(lán)稍作停留的位置集合不同。
請(qǐng)幫小藍(lán)計(jì)算一下,他總共有多少種不同的走法。
提示:請(qǐng)注意內(nèi)存限制,如果你的程序運(yùn)行時(shí)超過(guò)內(nèi)存限制將不得分。
【輸入格式】
輸入第一行包含兩個(gè)整數(shù) n, m, w,表示方格圖的大小。
第二行包含 6 個(gè)整數(shù),r 1 , c 1 , h 1 , r 2 , c 2 , h 2 ,表示陷阱的位置。
【輸出格式】
輸出一行,包含一個(gè)整數(shù),表示走法的數(shù)量。答案可能非常大,請(qǐng)輸出答
案除以 1000000007 的余數(shù)。
【樣例輸入】
5 6 1
3 4 1 1 2 1
【樣例輸出】
11
【樣例說(shuō)明】
用 (r,c,h) 表示第 r 行第 c 列第 h 層,可能的走法有以下幾種:
(1,1,1) ? (1,3,1) ? (1,6,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (1,3,1) ? (3,3,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (1,3,1) ? (3,3,1) ? (5,3,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (3,3,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (3,3,1) ? (5,3,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (5,1,1) ? (5,3,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (5,1,1) ? (5,4,1) ? (5,6,1)。
(1,1,1) ? (1,4,1) ? (1,6,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (1,6,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (3,6,1) ? (5,6,1)。
(1,1,1) ? (3,1,1) ? (5,1,1) ? (5,6,1)。
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于 30% 的評(píng)測(cè)用例 1 ≤ n,m,w ≤ 50。
對(duì)于 60% 的評(píng)測(cè)用例 1 ≤ n,m,w ≤ 300。
對(duì)于所有評(píng)測(cè)用例,1 ≤ n,m,w ≤ 1000,1 ≤ r 1 ,r 2 ≤ n, 1 ≤ c 1 ,c 2 ≤ m,
1 ≤ h 1 ,h 2 ≤ w,陷阱不在起點(diǎn)或終點(diǎn),兩個(gè)陷阱不同。
題解
DAG上的動(dòng)態(tài)規(guī)劃,可以看我之前寫的博客,都是這個(gè)類型的題,但這并不是正解三維開(kāi)不了1000,我覺(jué)得正解應(yīng)該是dp加壓縮但是我實(shí)在想不出來(lái)只能騙分了
注意:1不是素?cái)?shù),我因?yàn)檫@個(gè)浪費(fèi)了不少時(shí)間。。。。低級(jí)錯(cuò)誤才是最致命的
嵌套矩陣,DAG上的動(dòng)態(tài)規(guī)劃加記憶化數(shù)組
https://blog.csdn.net/m0_52103105/article/details/116136629
硬幣問(wèn)題
https://blog.csdn.net/m0_52103105/article/details/116210488
巴比倫塔
https://blog.csdn.net/m0_52103105/article/details/116263306
總結(jié)
以上是生活随笔為你收集整理的2020第十一届蓝桥杯C/C++国赛B组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java接口,多态,向上转型,向下转型的
- 下一篇: s3c2440移植MQTT