其他分享
首页 > 其他分享> > Codeforces 1633 B. Minority —— 简单思维

Codeforces 1633 B. Minority —— 简单思维

作者:互联网

This way

题解:

给你一个01串,你能从中拿出一个子串,将其中出现次数最少的数字给删掉,如果01出现次数相同则不作任何事情,问你最多能删掉多少个数字。

题解:

那我们要删掉最多的,当然是删掉整个字符串。如果两个数量相等?那最后一位不取不就行了。

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
char s[N];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        scanf("%s",s);
        int num[2]={0},len=strlen(s);
        for(int i=0;i<len;i++)
            num[s[i]-'0']++;
        if(num[1]==num[0])printf("%d\n",num[0]-1);
        else printf("%d\n",min(num[1],num[0]));
    }
    return 0;
}

标签:1633,Minority,int,题解,scanf,删掉,Codeforces,次数,01
来源: https://blog.csdn.net/tianyizhicheng/article/details/122807154