有乙個很長的由小寫字母組成字串。為了便於對這個字串進行分析,需要將它劃分成若干個部分,每個部分稱為乙個單詞。
出於減少分析量的目的,我們希望劃分出的單詞數越少越好。你就是來完成這一劃分工作的。
第一行為一整數t,表示有t組測試資料。
每組測試資料第一行為一字串。(長度小於256)
第二行為一整數n。(1<=n<=100)
以下n行,每行乙個單詞。
乙個整數,表示字串可以被劃分成的最少的單詞數。
1realityour
5real
reality
ityour
our
2code:
#include
#include
#include
#include
using namespace std;
enum ;
struct sless : public binary_function
};int split_string(char* s, const set& words)
;int len = strlen(s);
for (int i = 0; i < len; ++i)
m[i] = minimum;
}s[i+1] = ch;
}return m[len-1];
}int main()
;setws;
for (int i = 0; words[i] != 0; ++i)
ws.insert(words[i]);
int result = split_string(s, ws);
printf("result: %d\n", result);
#endif
int size;
scanf("%d", &size);
for (int i = 0; i < size; ++i)
;scanf("%s", s);
int num;
scanf("%d", &num);
setws;
for (int j = 0; j < num; ++j)
printf("%d\n", split_string(s, ws));}}
微軟面試題
題目 小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告訴了小明,把n值告訴了小強,張老師問他們知道他的生日是那一天嗎?3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明說 如果我...
微軟面試題
fly.c4 推薦您必看!六.演算法題 說明 這些題就不是什麼花樣了,考的是你的基礎知識怎麼樣。再聰明而沒有實學的人都將會被這些題所淘汰。1.鍊錶和陣列的區別在 2.編寫實現鍊錶排序的一種演算法。說明為什麼你會選擇用這樣的方法?3.編寫實現陣列排序的一種演算法。說明為什麼你會選擇用這樣的方法?4.請...
微軟面試題
1.燒一根不均勻的繩,從頭燒到尾總共需要1個小時。現在有若干條材質相同的繩子,問如何用燒繩的方法來計時乙個小時十五分鐘呢?答 點燃繩子a的兩端,和繩子b的 一端,當a燒完時,b餘下的可以燒半個小時 這時把b的另一端點燃,並開始計時,等b燒完時可確定15分鐘,然後再點燃繩子c 兩端 燒完總時間為1小時...