• QFNU-ACM 2020.10.23 Trating


    A

    统计判断是不是由两种数构成,两种数的个数是不是相等

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,a[2]={0},cou=0,sum1=0,sum2=0,c;
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>c;
            if(c==a[0]){
                sum1++;
            }else if(c==a[1]){
                sum2++;
            }else{
               if(cou==0){
                a[0]=c;
                sum1++;
               }else if(cou==1){
               a[1]=c;
               sum2++;
               }
               cou++;
            }
        }
        if(cou==2&&sum1==sum2){
            cout<<"YES"<<endl;
            cout<<a[0]<<" "<<a[1]<<endl;
        }else{
            cout<<"NO"<<endl;
        }
        return 0;
    }

    B

    循环判断两个大写字母间,有多少种不同的小写字母

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,maxx=0,i,j,coun=0;
        cin>>n;
        string s;
        cin>>s;
        int a[26]= {0};
        for(int i=0; i<n; i++)
        {
            if(s[i]<='z'&&s[i]>='a')
            {
                if(a[s[i]-'a']==0)
                {
                    coun++;
                }
                a[s[i]-'a']++;
            }
            if(s[i]<='Z'&&s[i]>='A')
            {
                maxx=max(maxx,coun);
                coun=0;
                for(j=0; j<26; j++)
                {
                    a[j]=0;
                }
            }
        }
        maxx=max(maxx,coun);
        cout<<maxx<<endl;
        return 0;
    }

    D

    找出这组数的最大值,将其他数补成这个数,需要多少个数

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,sum=0,maxx=0,a,i;
        cin>>n;
        for(i=0;i<n;i++){
            cin>>a;
            maxx=max(a,maxx);
            sum+=a;
        }
        cout<<maxx*n-sum<<endl;
        return 0;
    }

    E

    给定一个由RGBY四种颜色构成的(什么来着),有一部分损坏了,用!表示,计算将损坏的补好需要每种颜色各多少个,相邻的四个每种颜色只会出现一次

    通过 第i个的颜色,与i+4,i-4 相等,补齐所有字符的颜色

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s;
        cin>>s;
        int n=s.length();
        int i,a[200]= {0};
        for(i=0; i<n; i++)
        {
            if(s[i]=='!')
            {
                a[i]=1;
            }
        }
        for(i=0; i<n; i++)
        {
            if(s[i]!='!')
            {
                int j=i,k=i;
                while(j+4<n)
                {
                    s[j+4]=s[j];
                    j+=4;
                }
                while(k-4>=0)
                {
                    s[k-4]=s[k];
                    k-=4;
                }
            }
    
        }
        int R=0,Y=0,B=0,G=0;
        for(i=0; i<n; i++)
        {
            if(a[i]==1)
            {
                if(s[i]=='R')
                {
                    R++;
                }
                else if(s[i]=='G')
                {
                    G++;
                }
                else if(s[i]=='B')
                {
                    B++;
                }
                else if(s[i]=='Y')
                {
                    Y++;
                }
            }
        }
        cout<<R<<" "<<B<<" "<<Y<<" "<<G<<endl;
        return 0;
    }
  • 相关阅读:
    [整理]弦图学习笔记
    [整理]NOI Online 2021第一场题解
    [整理]Pólya 定理入门到入土
    [游记]2021省选抱灵记
    [整理]一些好玩的/板子的动态规划题目
    [整理]网络流随记——终(有关网络流的一些杂项)
    [整理][持续更新]多项式知识点大全(超简洁!)
    [洛谷P4338][题解][ZJOI2018]历史
    [游记]WC2021游记
    Codeforces Round #703 (Div. 2) (A~E)
  • 原文地址:https://www.cnblogs.com/a-specter/p/13906760.html
Copyright © 2020-2023  润新知