/*
description
求1個整數的第k位數字有很多種方法。
以下的方法就是一種。
input
沒有輸入。
output
見上文描述。
*/// 求x用10進製表示時的數字長度
//思路:對遞迴的掌握和使用理解
/*#include
intlen
(int x)
// 取x的第k位數字
intf
(int x,
int k)
intmain()
description
最大公共子串長度問題就是:
求兩個串的所有子串中能夠匹配上的最大長度是多少。
比如:「abcdkkk」 和 「baabcdadabc」,
可以找到的最長的公共子串是"abcd",所以最大公共子串長度為4。
下面的程式是採用矩陣法進行求解的,這對串的規模不大的情況還是比較有效的解法。
請分析該解法的思路,並補全劃線部分缺失的**。
input
沒有輸入。
output
*///思路:如果掌握了kmp字串匹配演算法的話這道題能很快解出來,但是這道題有用了動態規劃的思想,如果我想知道前n個字串中的最大公共子串的長度,我們只需要知道前n-1個字串的最大公共子串的長度即可,然後比較第n的字元是否相等。
/*description#include
#include
#define n 256
intf
(const
char
* s1,
const
char
* s2)}}
return max;
}int
main()
小明正在整理一批歷史文獻。這些歷史文獻**現了很多日期。小明知道這些日期都在2023年1月1日至2023年12月31日。
令小明頭疼的是,這些日期採用的格式非常不統一,有採用年/月/日的,有採用月/日/年的,還有採用日/月/年的。
更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日期與其對應。
比如02/03/04,可能是2023年03月04日、2023年02月03日或2023年03月02日。
給出乙個文獻上的日期,你能幫助小明判斷有哪些可能的日期對其對應嗎?
input
乙個日期,格式是"aa/bb/cc"。 (0 <= a, b, c <= 9)
output
輸出若干個不相同的日期,每個日期一行,格式是"yyyy-mm-dd"。多個日期按從早到晚排列。
sample input 1
02/03/04
sample output 1
2002-03-04
2004-02-03
2004-03-02
*///思路:只需要把三種日期格式對應日期都列舉出來,然後排除非法日期和不在題目所述範圍的日期。最後去重排序就可以了(對set容器的使用)。
結語#include
#include
#include
using
namespace std;
void
i2s(
int i,string &s)
bool
isleap
(int year)
string f
(int a,
int b,
int c)
string _a,_b,_c;
//數字轉換為字串
i2s(a,_a)
;i2s
(b,_b)
;i2s
(c,_c)
;//格式化字串
if(_b.
length()
==1)_b=
"0"+_b;
if(_c.
length()
==1)_c=
"0"+_c;
return _a+
"-"+_b+
"-"+_c;
}int
main()
第八屆藍橋杯第八題包子湊數
小明幾乎每天早晨都會在一家包子鋪吃早餐。他發現這家包子鋪有n種蒸籠,其中第i種蒸籠恰好能放ai個包子。每種蒸籠都有非常多籠,可以認為是無限籠。每當有顧客想買x個包子,賣包子的大叔就會迅速選出若干籠包子來,使得這若干籠中恰好一共有x個包子。比如一共有3種蒸籠,分別能放3 4和5個包子。當顧客想買11個...
藍橋杯第八屆決賽
精神狀態不好的時候怎麼寫 真的哭了,一堆sb錯誤 對於16進製制,我們使用字母a f來表示10及以上的數字。如法炮製,一直用到字母z,就可以表示36進製。36進製中,a表示10,z表示35,aa表示370 你能算出 many 表示的數字用10進製表示是多少嗎?請提交乙個整數,不要填寫任何多餘的內容 ...
第八屆藍橋杯分巧克力
題目 分巧克力 兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足 1.形狀是正方形,邊長是整數 2.大小相同 例如一塊...