2023年藍橋杯B組初賽(第四屆)

2021-08-16 17:45:50 字數 2471 閱讀 7096

題目和參考**:

1.高斯日記

#includeusing namespace std;

int month1[13]=;

int month2[13]=;

int main()

else

y=1778;

while(day>365)

else

y++;

}m=1;

if(y%400==0||(y%4==0&&y%100!=0))

}else

}cout<"-";

if(m<10)

cout<<"0"

<"-";

else

cout<"-";

if(day

<10)

cout<<"0"

}

答案:1799-07-17

2.馬虎的算式

#include

using namespace std;

int main()}}

}}

}cout0;}

答案:142

3.第39階台階

簡單的dfs,好好體會這道題目的感覺,和李白喝酒那到題目類似。

#include

using namespace std;

int ans=0;

void dfs(int num,int

step)

dfs(num+1,step-1);

dfs(num+1,step-2);

}int main()

答案:51167078

5.字首判斷(程式填空)

*haystack++

!=*neddle++

;

6.三部排序(程式填空)

**實現了如果是正數就放在之前,負數放在之後。

如果是0的話,直接跳過就可以。

答案:p++

;

7.錯誤票據

hash的簡單應用,這題思考點就在於怎麼儲存這些資料,用輸入完乙個資料後,用c=getchar()讀取下乙個字元,判斷下乙個字元是不是空格,從而決定換不換行。

#include

#include

#define maxn 100010

using

namespace

std;

int main()

}for(j=min;j<=max;j++)

cout

<" "

0;}

8.翻硬幣

貪心演算法,直接先用兩個字串讀取。然後比較兩個字串,相同的話,change[i]=1,不相同的話change[i]=0;

然後遍歷change[i],將其為0的地方進行翻轉。

//貪心演算法

#include

#include

#define maxn 10010

using

namespace

std;

int change[maxn];

int main()

else

}for(i=0;iif(!change[i])

}cout

0;}

9.帶分數

分別設整數部分,分子和分母為x,y,z。我們可以得到n=a+b/c;

用dfs演算法生成1-9的全排列儲存在a[i]中,然後把a[i]劃分為3個部分,轉化為十進位制數,然後判斷是否滿足條件。

#include

using namespace std;

int n,ans;

int vis[10]; //vis用來記錄i 是否已經放在當前的排列中

int a[10];

//記錄對應的十進位制數是多少

int cal(int st,int en)

void judge(int

*a) }

}}void dfs(int

index)

for(int i=1;i<=9;i++)

}}int main()

10.連號區間數

首先,理解一下題目的意思。區間連號:

只需要兩層迴圈遍歷,由於要組成遞增的數列,只要當前序列中的最大值減去最小的值恰好等於數列的長度即可。

#include

#define inf 0x3f3f3f

int a[50005];

int max(int a,int b)

int min(int a,int b)

}printf("%d\n",ans);

return

0;}

2013第四屆藍橋杯C C B組

大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人 日子又過去一天,還有多少時光可以用於浪費呢?高斯出生於 1777年...

第四屆藍橋杯c c B組3

題目描述 小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,...

第四屆藍橋杯c c B組5

如下的 判斷 needle start指向的串是否為haystack start指向的串的字首,如不是,則返回null。比如 abcd1234 就包含了 abc 為字首 char prefix char haystack start,char needle start if needle retur...