總時間限制:
1000ms
記憶體限制:
65536kb
描述有三個字串s,s1,s2,其中,s長度不超過300,s1和s2的長度不超過10。想檢測s1和s2是否同時在s**現,且s1位於s2的左邊,並在s中互不交叉(即,s1的右邊界點在s2的左邊界點的左側)。計算滿足上述條件的最大跨距(即,最大間隔距離:最右邊的s2的起始點與最左邊的s1的終止點之間的字元數目)。如果沒有滿足條件的s1,s2存在,則輸出-1。
例如,s = "abcd123ab888efghij45ef67kl", s1="ab", s2="ef",其中,s1在s**現了2次,s2也在s**現了2次,最大跨距為:18。
輸入三個串:s1, s2, s3,其間以逗號間隔(注意,s1, s2, s3中均不含逗號和空格);
輸出s1和s2在s最大跨距;若在s中沒有滿足條件的s1和s2,則輸出-1。
樣例輸入
abcd123ab888efghij45ef67kl,ab,ef
樣例輸出
18
1 #include2 #include3 #include4using
namespace
std;
5char s[305],s1[15],s2[15];6
intmain()
23if(k==len1) 28}
29for(i=len-1; i>=0; i--)
37if(j==0) 41}
42if(ans>=0) cout如果t大於0則輸出t
43else cout<<"
-1";//
否則輸出-1
44return0;
45 }
NOI0107字串最大跨距
這裡是乙個究極瓜皮,十個小時才做出來 這裡是題幹 一道很明顯的模擬題,一般都只要按照題幹的流程就ac了 include using namespace std intmain if flag 1 if flag 2 else if strstr a,b null strstr a,c null z ...
字串最大跨距
描述 有三個字串s,s1,s2,其中,s長度不超過300,s1和s2的長度不超過10。想檢測s1和s2是否同時在s 現,且s1位於s2的左邊,並在s中互不交叉 即,s1的右邊界點在s2的左邊界點的左側 計算滿足上述條件的最大跨距 即,最大間隔距離 最右邊的s2的起始點與最左邊的s1的終止點之間的字元...
PTA7 7 h0093 字串最大跨距
一 題目描述 二 解題思路 首先利用string把整個字串讀入 然後用逗號進行分隔成三個字串,然後用find和rfind函式解決即可。三 實現 1 include bits stdc h 2 using namespace std 3int main 417 if vis1 vis2 18 s u ...