字串處理 HDU第2609解題報告

2021-06-21 03:39:41 字數 487 閱讀 8785

題目鏈結

這題本來不明白是什麼意思,還以為是每個串的數字加起來,如果相等就表明是相等的串,但原來不來。

而是--》如果兩個串是同構串,那麼這兩個串相等,為乙個相同的串,我們就是要找出給出的資料中有多少不同的串。

這就要用找最小表示法了,如果兩個串是同構串,那麼這兩個串的最小表示s1 == s2

找出後最小表示s後,存進map容器

最後map.size()的大小就是不同的串的數量

下面是**:

//#include#include#include#includeusing namespace std;

int find_min_subs(string &str);

int main()

coutelse if(str[i] < str[j])//說明j指向的串不是最小的,比較下乙個

else//相等,不能判斷兩個字串哪個小,比較下一位

{ k=1;

while(k

字串處理 HDU第1062解題報告

題目鏈結 思想很簡單,接收字串,然後寫個函式,遍歷字串,遇到空格或者遇到串為就逆序輸出。下面是 include include includeusing namespace std void output the right string string str int main void outpu...

字串處理 HDU第1073解題報告

題目鏈結 該題最關鍵的是如何接收資料,想不明白之前,感覺這題真tm難,可想明白之後,好了。下面是思路 用string類接收start之後,end之前的字串,並存入容器中。然後用 比較容器,如果相等,即資料一模一樣,則ac 否則,將容器中的字元連起來,形成乙個長字元,然後去除格式之後再比較string...

HDU 1228,A B(字串處理)

讀入兩個小於100的正整數a和b,計算a b.需要注意的是 a和b的每一位數字由對應的英文單詞給出.測試輸入包含若干測試用例,每個測試用例佔一行,格式為 a b 相鄰兩字串有乙個空格間隔.當a和b同時為0時輸入結束,相應的結果不要輸出.對每個測試用例輸出1行,即a b的值.one two three...