居然沒超時。。。
最笨的方法。。。
不過字符串長度1000以內,而且判斷字串是否是回文串,如果不是就跳出,這樣應該不會花多少時間,字串大多數情況都是首尾直接就不相等
#include<iostream>#include<algorithm>#include<vector>#include<map> #include<string>#include<set>using namespace std;string s;int symlen(int low, int high){ int i = low; int j = high; while(i <= j){ if(s[i++] != s[j--]){ return 0; } } return high - low + 1;} int main(){ getline(cin,s); int maxlen = 0; for(int i = 0; i < s.size(); i++){ for(int j = i; j < s.size(); j++){ int temp = symlen(i,j); if(maxlen < temp) maxlen = temp; } } cout<<maxlen; return 0;}
新聞熱點
疑難解答