如果两个相邻相等我们就需要插入一个新的字符,所以本题就相当于对每个连续相等的字符串长度-1进行求和,最后在和输入字符串长度累加,输出即可。
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
# include<iostream>
# include<iomanip>
# include<algorithm>
# include<cmath>
# include<cstdio>
# include<set>
# include<stack>
# include<queue>
# include<map>
# include<string>
# include<cstring>
# define eps 1e-9
# define fi first
# define se second
# define ll long long
# define int ll
// cout<<fixed<<setprecision(n)
using namespace std;
typedef unsigned long long ull;
typedef pair<int,int > PII;
const int mod=1e9+7;
const int MAX=3e6+10;
const int Time=86400;
const int X=131;
const int inf=0x3f3f3f3f;
const double PI = 1e-4;
double pai = 3.14159265358979323846;
int T;
string s;
void solve(){
int sum = 1 , ans = 0;
cin >> s;
for(int i = 1 ;i < s.size() ; i ++ )
if(s[i] == s[i-1]) sum++;
else ans+=sum-1,sum = 1 ;
ans+=sum-1;
cout<<ans + s.size()<<"\n";
}
signed main(){
std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin >> T;
for(int i = 1 ; i <= T; i++){
solve();
}
return 0;
}
/*
1 1 2 3 5 8 13
*/