牛客程式語言練習賽第十場全題解

2021-10-08 16:24:51 字數 3896 閱讀 1366

牛客比賽官網:

題目描述

輸入乙個人的出生日期(包括年月日),將該生日中的年、月、日分別輸出。

輸入描述:

輸入只有一行,出生日期,包括年月日,年月日之間的數字沒有分隔符。

輸出描述:

三行,第一行為出生年份,第二行為出生月份,第三行為出生日期。輸出時如果月份或天數為1位數,需要在1位數前面補0。

示例1輸入

20130225

輸出year=2013

month=02

date=25

備註:通過scanf函式的%m格式控制可以指定輸入域寬,輸入資料域寬(列數),按此寬度擷取所需資料;通過printf函式的%0格式控制符,輸出數值時指定左面不使用的空位置自動填0。

這裡要普及一下:c++中substr的用法

題目描述

輸入乙個字元,用它構造乙個三角形金字塔。

輸入描述:

輸入只有一行,乙個字元。

輸出描述:

該字元構成的三角形金字塔。

示例1輸入1輸出

共5行,每行按格式輸出,換行,注意空格

#include

using

namespace std;

intmain()

題目描述

實現字母的大小寫轉換。多組輸入輸出。

輸入描述:

多組輸入,每一行輸入大寫字母。

輸出描述:

針對每組輸入輸出對應的小寫字母。

示例1輸入ab

輸出ab備註:

多組輸入過程中要注意「回車」也是字母,所以要「吸收」(getchar())掉該字母。

注意點在備註中已經給出,下面給出兩種解法。

#include

intmain()

}/*另一種解法:用庫函式具有可移植性,若是不用ascii碼的程式,+-32是無效的;

#include #include int main(void)

return 0;

}*/

題目描述

bobo買了一箱酸奶,裡面有n盒未開啟的酸奶,kiki喜歡喝酸奶,第一時間發現了酸奶。kiki每h分鐘能喝光一盒酸奶,並且kiki在喝光一盒酸奶之前不會喝另乙個,那麼經過m分鐘後還有多少盒未開啟的酸奶?

輸入描述:

多組輸入,每組輸入僅一行,包括n,h和m(均為整數)。輸入資料保證m <= n * h。

輸出描述:

針對每組輸入,輸出也僅一行,剩下的未開啟的酸奶盒數。

示例1輸入

8 5 16輸出4

輸入描述:

多組輸入,每一行包括兩個整數,用空格隔開,分別為體重(公斤)和身高(厘公尺)。

輸出描述:

針對每行輸入,輸出為一行,人體胖瘦程度,即分類。

示例1輸入

80 170

60 170

90 160

50 185

輸出overweight

normal

obese

underweight

#include

using

namespace std;

intmain()

return0;

}

題目描述

kiki想獲得某年某月有多少天,請幫他程式設計實現。輸入年份和月份,計算這一年這個月有多少天。

輸入描述:

多組輸入,一行有兩個整數,分別表示年份和月份,用空格分隔。

輸出描述:

針對每組輸入,輸出為一行,乙個整數,表示這一年這個月有多少天。

示例1輸入

2008 2

輸出29

#include

intmain()

else b=30;

printf

("%d\n"

,b);

}}

題目描述

假設你們社團要競選社長,有兩名候選人分別是a和b,社團每名同學必須並且只能投一票,最終得票多的人為社長.

輸入描述:

一行,字串行,包含a或b,輸入以字元0結束。

輸出描述:

一行,乙個字元,a或b或e,輸出a表示a得票數多,輸出b表示b得票數多,輸出e表示二人得票數相等。

示例1輸入

abbabbaab0輸出b

遍歷讀入的字串,統計a和b的個數,最後用 if判斷一下,對應輸出即可。

#include

using

namespace std;

intmain()

if(cc1>cc2)

puts

("a");

else

if(cc1

puts

("b");

else

puts

("e");

}

題目描述

kiki學習了迴圈,bobo老師給他出了一系列列印圖案的練習,該任務是列印用「*」組成的k形圖案。

輸入描述:

多組輸入,乙個整數(2~20)。

輸出描述:

針對每行輸入,輸出用星號組成的k形,每個「*」後面有乙個空格。

示例1輸入2輸出

示例2輸入3輸出

示例3輸入4輸出

這題就很奇怪,自己的輸出完全符合樣例,就是沒過…先貼上去做個錯誤示範,明天五點半起床練車,時間有點趕

#include

intmain()

for(i=

1; i<=n+

1; i++)}

return0;

}/*沒通過的

#include using namespace std;

int main()

}return0;

}

題目描述

kiki學習了迴圈,bobo老師給他出了一系列列印圖案的練習,該任務是列印用星號組成的x形圖案。

輸入描述:

多組輸入,乙個整數(2~20),表示輸出的行數,也表示組成「x」的反斜線和正斜線的長度。

輸出描述:

針對每行輸入,輸出用「*」組成的x形圖案。

示例1輸入5輸出

示例2輸入6輸出

找出規律,然後判斷是否滿足情況輸出即可。

#include

using

namespace std;

intmain()

printf

("\n");

}}return0;

}

2019牛客第十場題解 C F

題意 第i天在原來字串的基礎上在字串的前面或者後面新增乙個字元。問新增完字元後有多少種不同長度的迴圈節。定義迴圈節為能把原字串分割成長度為k的乙個或多個部分。並且後面可以有或者沒有迴圈節的開頭部分。也就是說 s 1 s n x s x 1 s n 則說明迴圈節為x 1.明顯,對於長度為len的字串,...

牛客第十場自閉

統計每個點連線邊的邊權和以及最大邊權,然後進行如下貪心 ll find ll x 將邊權存到了multisets x 這樣找到的ans是比答案大1倍的,因為每一條邊連向了兩個點,那麼每一條邊都被統計了2次答案,所以ans最後還要 2 也可以理解成以每個點為出發點,要往其他點連多少條邊 寫了詳細注釋 ...

LETTers練習賽第十場 第一題

題目意思 給你很多個點,這些點滿足 a set of points xi,yi that satisfy xi xj and yi yj for all i j.讓你用一棵樹把所有點連在一齊,樹只能往上跟右生長,求樹的總長度最小 解題思路 類似石子合併,加上四邊形優化就行了 定義狀態 dp i,j ...