1. 程式人生 > >Codeforces Round #442 (Div. 2) B. Nikita and string

Codeforces Round #442 (Div. 2) B. Nikita and string

style force c++ its class char 每次 包含 子串

題意:給一個字符串,問形如a……a/ /b……b/ /a……a的子串最大長度

題解:設三個狀態a,ab,aba分別表示對應長度。因為每段長度可以為0,所以後一個狀態的包含前一個狀態。每次更新最大長度,最終的aba即為答案

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 char str[5050];
 4 int main()
 5 {
 6     cin>>str;
 7     int len=strlen(str);
 8     int a,ab,aba;
 9     a=ab=aba=0;
10     for
(int i=0;i<len;i++) 11 { 12 if(str[i]==a) 13 a++,aba++; 14 else 15 ab++; 16 ab=max(a,ab); 17 aba=max(ab,aba); 18 } 19 cout<<aba<<endl; 20 }

Codeforces Round #442 (Div. 2) B. Nikita and string