8 条题解

  • 0
    @ 2024-8-3 13:18:55

    指针

    #include<iostream> #include<string> using namespace std;

    int main() { int n; string s; cin >> n; while(n--) { char c; cin >> c; s += c; } size_t i = 0 , j = 0 , pos_1 = 0 , pos_2 = 1; while(pos_2 < s.size()) { if(s[pos_1] == s[pos_2]) { if(pos_1 != j) { pos_1++,pos_2++; } else { pos_1 = i; pos_2++; } } else { pos_1 = i; if(j+1 != pos_2) j++; else { pos_2++; j++; } } } while(pos_1 != i && j + 1 != pos_2) j++; cout << j - i + 1 << endl; return 0; }

    信息

    ID
    49
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    1615
    已通过
    388
    上传者