首页 > 其他分享 >第 66 场周赛 ABC

第 66 场周赛 ABC

时间:2022-08-27 20:57:56浏览次数:116  
标签:周赛 typedef ABC cout int LL cin long 66

A-奇偶判断

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const LL N=200200;
LL a[N],b[N];
#define x first
#define y second
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
   // cin>>T;
    while(T--)
    {
        string s;
        cin>>s;
        int len=s.size();
        if((s[len-1]-'0')%2==0) cout<<"0"<<endl;
        else cout<<"1"<<endl;
    }
    return 0;
}

B-字母补全

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const LL N=200200;
map<char,int> mp;
bool check(string c)
{
    mp.clear();
    for(int j=0;j<c.size();j++)
    {
        mp[c[j]]++;
        if(c[j]!='?'&&mp[c[j]]==2) return false;
    }
    return true;
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
   // cin>>T;
    while(T--)
    {
        string s;
        cin>>s;
        string c;
        bool flag=false;
        int i;
        for(i=0;i<s.size();i++)
        {
            if(i+25<s.size())
            {
                c=s.substr(i,26);
                if(check(c)==true)
                {
                    flag=true;
                    break;
                }
            }
            else break;
        }
        if(flag==false) cout<<"-1"<<endl;
        else
        {
            //cout<<i<<endl;
            for(int k=i;k<i+c.size();k++)
            {
                if(c[k-i]=='?')
                {
                    for(int j=0;j<26;j++)
                    {
                        char op=65+j;
                        if(count(c.begin(),c.end(),op)==0)
                        {
                            c[k-i]=op;
                            break;
                        }
                    }
                }
            }
            for(int j=0;j<s.size();j++)
            {
                if(j==i)
                {
                    cout<<c; j+=25;
                }
                else if(s[j]=='?') cout<<"A";
                else cout<<s[j];
            }
        }
    }
    return 0;
}

C-整数分组

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const LL N=200200;
LL a[N];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
   // cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        map<int,int> mp;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            mp[a[i]]++;
        }
        int s1=0,s2=0,s3=0;
        for(int i=1;i<=100;i++)
        {
            if(mp[i]==1) s1++;
            else if(mp[i]==2) s2++;
            else if(mp[i]>=3) s3++;
        }
        if((s1+2*s2)%2==1&&s3==0) cout<<"NO"<<endl;
        else
        {
            cout<<"YES"<<endl;
            if(s1%2==0)
            {
                int sum=0;
                for(int i=1;i<=n;i++)
                {
                    if(mp[a[i]]==1)
                    {
                        if(sum%2==1) cout<<"A";
                        else cout<<"B";
                        sum++;
                    }
                    else cout<<"A";
                }
            }
            else
            {
                bool idx=false;
                int l=0,r=0;
                for(int i=1;i<=n;i++)
                {
                    if(mp[a[i]]==1)
                    {
                        if(l<=r) { cout<<"A"; l++; }
                        else { cout<<"B"; r++; }
                    }
                    else if(mp[a[i]]==2) cout<<"A";
                    else if(mp[a[i]]>=3)
                    {
                        if(idx==false)
                        {
                            cout<<"B";
                            r++;
                            idx=true;
                        }
                        else
                        {
                            cout<<"A";
                        }
                        mp[a[i]]=2;
                    }
                }
            }
        }
    }
    return 0;
}

标签:周赛,typedef,ABC,cout,int,LL,cin,long,66
From: https://www.cnblogs.com/Vivian-0918/p/16631434.html

相关文章

  • 2022网鼎杯网鼎杯web669wp
    大致思路:1.任意文件读取2.session伪造3.untar目录穿越,任意文件写4.yaml反序列化5.sudidd提权任意文件读取题目代码importosimportreimportyamlimporttime......
  • 战66 WIN11 亮度热键 快捷键无效
    型号:HPZHAN66ProA14G3。用FN调节音量是正常的,唯独亮度无效。 参考:怎样调节笔记本电脑屏幕亮度(惠普笔记本亮度调节快捷键失灵)|说明书网(shuomingshu.cn)。打......
  • NC16663 合并果子
    题目原题地址:合并果子题目编号:NC16663题目类型:队列、堆时间限制:C/C++1秒,其他语言2秒空间限制:C/C++131072K,其他语言262144K1.题目大意n堆果子,需要两两合并直至......
  • CF1066C 题解
    前言题目传送门!更好的阅读体验?本题是简单的双端队列练手题。思路题意大致如下:执行双端队列push_front()操作。执行双端队列push_back()操作。查询\(\min\{m......
  • NC14661 简单的数据结构
    题目原题地址:简单的数据结构题目编号:NC14661题目类型:双端队列时间限制:C/C++1秒,其他语言2秒空间限制:C/C++131072K,其他语言262144K1.题目大意双端队列的应用2.......
  • 做题记录:P3166 [CQOI2014]数三角形
    题目链接题意:给定 (n+1)(m+1)(n+1)(m+1) 个点的网格图,任意投三个点,求三角形的个数。首先,不考虑三点共线的情况,方案数可以很轻松的得出来。在 (n+1)(m+1)(n+1)(m+1) ......
  • 可信计算学习笔记 - 服务器可信支撑平台【GB/T 36639-2018】
    服务器可信支撑平台主要由物理可信根、可信基础组件和虚拟可信组件等部分组成根据服务器软硬件组成的不同,服务器可信支撑平台包含的部分也不同服务器硬件系统:应包......
  • 【luogu AT2366】Prefix Median(DP)
    PrefixMedian题目链接:luoguAT2366题目大意给你一个长度为2n-1的序列,你可以任意排序它们,问你有多少个不同的b数组。b数组的第i位为a数组1~2i-1区间的数的......
  • AtCoder-abc265_e Manhattan Cafe
    ManhattanCafedp前缀和优化很容易想到\(dp\)的状态\(dp[i][j][k]\)表示前\(i\)个点,\(r_x\)与\(p_x\)的差值和为\(j\),\(r_x\)与\(q_x\)的差值和为\(k\)......
  • cf1166 E. The LCMs Must be Large
    题意:有一个长度为\(n\)的未知正整数组,再给\(m\)个限制,每个限制会给一个位置集合\(S\),要求\(S\)中所有位置上的数的lcm严格大于其余数的lcm,问是否存在合法的数组......