FZU Problem 2027 單詞問題

2021-09-22 23:00:32 字數 934 閱讀 4498

給出乙個完整的句子,這個句子中不包含不可見字元或者空格,於是在這個句子中有許多不同的單詞。乙個單詞是指一串連續的最長的英文本母(大寫或小寫)。例如"#abc#"中,「abc"就是乙個單詞,而"ab」,"bc"都不算單詞。

輸入包含多組資料 輸入資料第一行是乙個句子,只包含可見字元(不包含空格)。句子長度不超過 100。

按單詞出現的順序輸出不同的單詞。如果乙個單詞出現多次則只有第一次出現時輸出。

orz_yayamao_orz_daxia_orz_everyone

orz

yayamao

daxia

everyone

福州大學第八屆程式設計競賽

本題當然可以用鍊錶來儲存出現過的單詞,但是c++有個叫map的輪子,可以利用其關鍵字(key)只能唯一存在的特性,來判斷當前單詞是否出現過。

map的特性和用法網上寫得很多很詳盡,而且不難,所以此處不再贅述。

map有點像陣列,可以像運算元組一樣利用map[i]來選中map中的元素,但這種方法有時候會出現奇怪的錯誤,特別是關鍵字是字串的時候。見博文

所以操作map時,最好使用map.insert()和迭代器iterator

#include

#include

#include

using

namespace std;

char str[

105]

;char word[

105]

;int

main()

//注意此處應該判斷單詞是否存在,否則出現多個非字母字元時列印多個換行符

else

if(j >0)

}}m.

clear()

;}}

FZU Problem 1015 土地劃分

在dukeswood這塊土地上生活著乙個富有的農莊主和他的幾個孩子。在他臨終時,他想把他的土地分給他的孩子。他有許多農場,每個農場都是一塊矩形土地。他在農場地圖上劃上一些直線將矩形分成若干塊。當他划直線時,他總是從矩形邊界上的某一點劃到另乙個矩形邊界上的點,這條線的結束點將成為下一條線的起始點。他劃...

FZU Problem 2030 括號問題

給出乙個字串,其中包括3種字元 其中?表示這個字元可以是 也可以是 現在給出字串s,你可以在 處填寫 或者 當然隨意填寫得到的序列可能是括號不匹配的。例如 如果你填寫 那麼 是括號不匹配的!現在你的任務是確定你有多少種填寫方案,使得最終的字串是括號匹配的!2種方案是不同的,當2種方案中至少存在1個填...

FZU Problem 2030 括號問題

對於小資料用這dfs,大資料就用遞推的思想。include include include include include include include include include include using namespace std const int maxn 20 char str m...