第三个点wa了求助各位大佬 菜狗没改出来
查看原帖
第三个点wa了求助各位大佬 菜狗没改出来
833168
7546391a楼主2023/1/13 10:24
//开两倍的字符串,然后枚举起点的位置,再用双指针,一个从起点向右遍历,另一个从终点向左遍历。

#include <iostream>
#include <string>
using namespace std;
string a;
int main()
{
    int len;
    cin >> len;
    cin >> a;
    a += a;
    int cnt = 0;
    for (int i = 0; i < len; i++)
    {
        string b=a;
        int t = 0;
        int l = i;
        int r = i + len - 1;
        char ch1 = b[l], ch2 = b[r];
        for (int j = l; j <= r; j++)
        {
            if (b[j] == ch1 || b[j] == 'w')
            {
                t++;
                b[j]='1';
            } else if(b[j]=='1') continue;
            else
                break;
        }
        for (int j = r; j >= l; j--)
        {
            if (b[j] == ch2 || b[j] == 'w')
            {
                t++;
                b[j]='1';
            }else if(b[j]=='1') continue;
            else
                break;
        }
        cnt = max(cnt, t);
    }
    cout << cnt;
}
2023/1/13 10:24
加载中...