江苏省赛2022I. Cutting Suffix 思维

题意就是给你一个字符串,找到一个地方划分为两个集合,两个集合的前缀相同的就求和

草率了,题目没读懂,比赛的时候一直在纠结

这个题求的是最小的价值

举个例子:abcdaccd

因为是最小价值

假设就是第一个a在一个集合里面,后面的在另外一个集合里面,分别的i,j的前缀没有一个相同的所以是0

所以假设只要出现有不相同的字母:aaaabaaa,都是可以划分为aaaa和baaa为一组,因为不管怎么选,前缀第一个字母必然不相同了,所以就是0

只有都是一样的时候aaaaa,那答案是数量-1

#include<iostream>
using namespace std;
int main(){
    string ch;
    cin>>ch;
    int f=1;
    for(int i=0;i<ch.size()-1;i++)
    {
        if(ch[i]!=ch[i+1])
            f=0;
    }
    if(f) cout<<ch.size()-1<<endl;
    else cout<<0;
    return 0;
}

题目意思理解的不够好...

(可以说没读懂)

posted @ 2022-05-29 15:50  小志61314  阅读(308)  评论(0)    收藏  举报