码迷,mamicode.com
首页 > 其他好文 > 详细

QFNU-ACM 2020.10.23 Trating

时间:2020-11-02 10:35:49      阅读:20      评论:0      收藏:0      [点我收藏+]

标签:字母   div   flag   连续   固定   题解   ring   ide   opened   

CodeForces - 864A 

题意:给偶数个卡片,给卡片编号,两个人每个人选一个号,这个人要拿走所有该号的卡片,如果所有的卡片都被拿走,并且两个人的卡片数量一样多,输出YES 和这两个序号  否则输出NO

技术图片
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string> 
using namespace std;
int a[110];
int main(){
    int n,counts=0,sum1=0,sum2=0,flag=1;
    int p,q;
    cin>>n;
    int b[110]={0};
    for(int i=0;i<n;i++){
         cin>>a[i];
         b[a[i]]++;
    }
    for(int i=1;i<=100;i++){
        if(b[i]){
            if(flag){
            p=i;
            flag=0;    
            sum1+=b[i];
            }else{
            q=i;
            sum2+=b[i];
            flag=1;
            }
            counts++;
        }
    }
    if(counts==2&&sum1+sum2==n&&sum1==sum2){
        cout<<"YES"<<endl;
        cout<<p<<" "<<q<<endl;
    }else{
        cout<<"NO"<<endl;
    }
    return 0;
}
View Code

CodeForces - 864B 

题意:有一段长度为n的字符串求一段最长由小写字母构成的的连续子串长度

题解:先把由不同小写字母构成的子串存起来,遇到大写字母就判断一下是否为最长的

技术图片
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
set<int> a;
int main(){
    int n,maxx=0;
    string s;
    cin>>n>>s;
    for(int i=0;i<n;i++){
        if(s[i]<=z&&s[i]>=a){
            a.insert(s[i]);
        }else{
            if(maxx<a.size()){
                maxx=a.size();
            }
            a.clear();
        }
    }
    if(maxx<a.size()){
        maxx=a.size();
    }
    a.clear();
    cout<<maxx<<endl;
} 
View Code

CodeForces - 758B 

题意:给一段由RBYG!构成的长度为n的字符串,每4个字符里都有RBYG里的一种,RBYG表示不同颜色的灯泡, ! 代表坏掉的灯泡,判断需要补多少各个颜色的灯泡 

题解:可以确定周期为四,哪个位置是哪个颜色的灯泡都是固定的

技术图片
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
using namespace std;
int a[6],b[110];
int main(){
    string s;
    cin>>s;
    for(int i=0;i<s.length();i++){
        if(s[i]!=!&&s[i]==R){
            b[i%4]=1;
        }else if(s[i]!=!&&s[i]==B){
            b[i%4]=2;
        }else if(s[i]!=!&&s[i]==Y){
            b[i%4]=3;
        }else if(s[i]!=!&&s[i]==G){
            b[i%4]=4;
        }
    }
    for(int i=0;i<s.length();i++){
        if(s[i]==!){
            a[b[i%4]]++;
        }
    }
    for(int i=1;i<=3;i++){
        cout<<a[i]<<" ";
    }
        cout<<a[4]<<endl;
        return 0;
} 
View Code

 

QFNU-ACM 2020.10.23 Trating

标签:字母   div   flag   连续   固定   题解   ring   ide   opened   

原文地址:https://www.cnblogs.com/yy0826/p/13911057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!