求助mx-j2 C
  • 板块灌水区
  • 楼主nightwatch.ryan
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/8/4 17:03
  • 上次更新2024/8/4 18:44:21
查看原帖
求助mx-j2 C
961351
nightwatch.ryan楼主2024/8/4 17:03
#include<map>
#include<set>
#include<ctime>
#include<deque>
#include<stack>
#include<queue>
#include<cmath>
#include<cctype>
#include<vector>
#include<string>
#include<climits>
#include<cstring>
#include<numeric>
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<unordered_map>
#define int long long
#define il inline
#define ui unsigned int
#define ll long long
#define ull unsigned long long
#define db double
#define print(x) printf(x)
#define debug puts("debug")
const ll mod=1e9+7;
const ll inf=0x3f3f3f3f;
const double pi=acos(-1.0);
const double Exp=1e-8;
#define N 1000005
il int read(){
   int x=0,t=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')t=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*t;
}
il void write(int x){
    if(x<0){putchar('-');x=-x;}
    if(x>9)write(x/10);
    putchar(x%10+'0');
}
#define rd read()
int cnt;
signed main(){
    int t=rd;
    while(t--){
        int n=rd;
        std::string s;
        std::cin>>s;
        s+=" ";
        int cnt=1,sum=0;
        for(int i=0;i<n;i++){
            if(s[i]==s[i+1]){
                cnt++;
            }else{
                if(cnt%3==0){
                    sum+=cnt/3*2;
                }else if(cnt%3==1){
                    sum+=cnt/3*2+1;
                }else{
                    sum+=cnt/4*2+1;
                }
                cnt=1;
            }
        }
        std::cout<<sum<<std::endl;
    }
}

死活过不去 0pts

2024/8/4 17:03
加载中...