1 条题解

  • 0
    @ 2025-10-27 0:40:08
    #include<stdio.h>
    typedef long long ll;
    const int N=1e6+5;
    const ll inf=1e18;
    ll t,n,d;
    char s[N];
    int main(){
        scanf("%lld",&t);
        while(t--){
            scanf("%lld",&n);
            scanf("%s",s);
            ll c1=0,c2=0;
            for(int i=0;i<n;i++){
                if(s[i]=='-') c1++;
            }
            c2=n-c1;
            ll ans=0;
            if(c1%2==0){
                ans=(c1/2)*(c1/2)*c2;
            } 
            else{
                ans=(c1/2)*((c1+1)/2)*c2;
            }
            printf("%lld\n",ans);
            //右边写成c1+1是防止奇数时漏情况
            //例如,c1=5,c1/2=2,(c1+1)/2=3;
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    1163
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    66
    已通过
    20
    上传者