初始有乙個字串s,串的長度l不超過2500。你可以對串中乙個子串進行一次翻轉,確切的說,你可以選擇一對整數
其中0<=x<=yinput
多組測試資料,第一行乙個整數t,表示測試資料數量,1<=t<=5output之後有t組結構相同的資料:
每組包含一行乙個字串s,其中s的長度l滿足1<=l<=2500且s只包含小寫字母'a'~'z'
一組資料輸出一行兩個整數,即最優的翻轉子串行的區間索引x,yinput示例
2output示例abdc
aabbcc
2 30 0出發點就固定的,就是第乙個不在自己應該在的地方的那個數。如何找這個位置,就是排序一下對比著找即可。
之後從當前出發點開始往後找,如果第i個小於出發點,交換,比較一下總串大小,如果小於之間出現過的最小值,更新y。
之後i繼續往後找。最後輸出y即可
#include using namespace std;
string str1,str2;
string jiaohuan(string s,int x,int y)
return s;
}int main()
}string str3=str1,str4;
for(int i=x+1;i}
}cout<}
}
51nod 1335 子串行翻轉
1335 子串行翻轉 topcoder 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 初始有乙個字串s,串的長度l不超過2500。你可以對串中乙個子串進行一次翻轉,確切的說,你可以選擇一對整數 其中0 x yinput 多組測試資料,第一行乙個整數t,表示測試資...
51nod 1202 子串行個數
子串行的定義 對於乙個序列a a 1 a 2 a n 則非空序列a a p1 a p2 a pm 為a的乙個子串行,其中1 p1例如4,14,2,3和14,1,2,3都為4,13,14,1,2,3的子串行。對於給出序列a,有些子串行可能是相同的,這裡只算做1個,請輸出a的不同子串行的數量。由於答案比...
51Nod1202子串行個數
子串行的定義 對於乙個序列a a 1 a 2 a n 則非空序列a a p1 a p2 a pm 為a的乙個子串行,其中1 p1例如4,14,2,3和14,1,2,3都為4,13,14,1,2,3的子串行。對於給出序列a,有些子串行可能是相同的,這裡只算做1個,請輸出a的不同子串行的數量。由於答案比...