題目描述
catcher 是mca國的情報員,他工作時發現敵國會用一些對稱的密碼進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba->12abba,aba->abakk,123321->51233214 。因為截獲的串太長了,而且存在多種可能的情況(abaaab可看作是aba,或baaab的加密形式),cathcer的工作量實在是太大了,他只能向電腦高手求助,你能幫catcher找出最長的有效密碼串嗎?
輸入描述:
輸入乙個字串
輸出描述:
返回有效密碼串的最大長度
示例1
輸入 abba
輸出 4
分析:字串中的第乙個單詞s[i],反方向查詢相同的乙個單詞s[j],看i到j之間是否構成回串,不構成就找下乙個相同的單詞,構成回串就更新最大長度。接著下乙個單詞重複此過程。
#include#includeusing namespace std;
inline bool isdc(string s, int i, int j)
else return false;
} return true;
}int main()
} if (k < 1) cout << 1 << endl;
cout << k << endl;
} return 0;
}
補充知識:size_t find(char c, int pos)const; //從post位置向後查詢;
size_t rfind(char c, int pos)const; //從post位置向前查詢;
size_t rfind(const char *s, int pos = npos) const;
size_t rfind(const char *s, int pos, int n = npos) const;
size_t rfind(const string &s, int pos = npos) const;
成功找到,返回字元的下標,否則返回string::npos.
字串運用 密碼擷取
catcher 是mca國的情報員,他工作時發現敵國會用一些對稱的密碼進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba 12abba,aba abakk,123321 51233214 因為截獲的串太長了...
華為機試 按位元組擷取字串
題目描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 輸入描述 輸入待擷取的字串及長度 輸出描述 擷取後的字串 分析一 先輸出前...
華為OJ基礎題 字串運用 密碼擷取
catcher是mca國的情報員,他工作時發現敵國會用一些對稱的密碼進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba 12abba,aba abakk,123321 51233214 因為截獲的串太長了,...