紫皮書小練2

2021-08-17 19:55:51 字數 1151 閱讀 1740

大意:給你乙個序列,然後再給你幾個序列(全0結束),判斷:相同位置的數字相同的個數a,位置不同但數字相同的個數b,輸出格式:(a,b)

a:直接判斷並相加

b:計算每個數字在兩個序列中出現的次數c1,c2。b+=min(c1,c2);計算出所有數字相同的個數,然後減去a(位置相同的)~~~

#include

using

namespace

std;

#define maxn 1010

int main()

if(b[0] == 0) break;

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

b += min(c1,c2);

}cout

<<" ("

<","

<")"

0;}

生成元 256 = (245+2+4+5) 245就是256的生成元

216=(198+1+9+8)=(207+2+0+7) 198就是216的最小生成元

100000的資料 打表即可

for i=1:100000 i可以生成y num[y]=i;順便判斷一下

#include

using

namespace

std;

#define maxn 100005

int num[maxn];

void init()

if(num[y] == 0 || num[y] > i)

}}int main()

字典序最小的串

設立標識,標識最小串的開頭,當前串的開頭,然後判斷;

具體看**

#include

using

namespace

std;

#define maxn 105

char ch[maxn];

//p開頭的串是否比q開頭的串字典序小,n表示字串長度

int f(int p,int q,int n)

return

0;//相等返回0

}int main()

}for(int i = 0;icout

0;}

紫皮書 第2章 迴圈結構程式設計

2.1 for迴圈 例題 輸出1,2,3 cdots cdots n的值 程式2 1 includeusing namespace std int main 1 frac frac frac cdots cdots 直到最後一項小於10 6。分析 因為在計算完一項之後才知道它是否小於10 6,所以迴...

紅皮書補充 2006廊坊徐紫過 新浪部落格

關於vb中trim函式的說明 trim 是去掉開頭和結尾的空格!如 map trim 3 map 結果是 map3.map 而 trim map 3 map 結果就是 map 3 map trim 是去除字串頭或尾部的空格,但不包含中間的空格。如 hello world trim hello wor...

數字dp小練

我是超連結 題意 找0 n中含有 49 的個數 題解 狀態 f i j 表示i位數以j開頭的數中不含49的個數 轉移 if j 4 k 9 f i j f i 1 k 不含49,最後用總數減去不含的就是含有的 因為資料n 1怕爆longlong,手動 1 include include define...