欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

B: 排数字

程序员文章站 2022-06-07 13:05:53
...

传送门

题意:

B:	排数字

分析:

要想最多应该这样排列6161616…然后讨论6和1字符的个数即可

代码:

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
#include <math.h>
#include <map>
#include <queue>
#include <set>
#define Pll make_pair
using namespace std;
typedef long long ll;
const int maxn=2e5+50;
const int inf=0x3f3f3f3f;
const int mod=1e9+7;
const int phi=1e9+6;
char ch[maxn];
int main()
{
    int n;
    scanf("%d ",&n);
    int p1=0,p2=0;
    for(int i=1;i<=n;i++){
        char k;
        scanf("%c",&k);
        if(k=='1')p1++;
        if(k=='6')p2++;
    }
    //cout<<p1<<" "<<p2<<endl;
    if(p1<p2){
        printf("%d\n",p1);
        return 0;
    }
    else if(p1==p2){
        printf("%d\n",max(0,p1-1));
        return 0;
    }
    else {
        printf("%d\n",max(0,p2-1));
        return 0;
    }
    return 0;
}
相关标签: 牛客