2024/1/22 集合+cf805div3 ab题

发布时间:2024年01月22日

集合

【数据结构1-3】集合 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:这道题用map,存一下每个球数所在的位置,然后输出就行了

完整代码:

#include <bits/stdc++.h>
#define int long long
signed main()
{
    std::map<int,int>mp;
    int n;
    std::cin >> n;
    for(int i = 1;i <= n;i ++)
    {
        int x;
        std::cin >> x;
        mp[x]=i;
    }
    int m;
    std::cin >> m;
    for(int i = 1;i <= m;i ++)
    {
        int y;
        std::cin >> y;
        std::cout<<mp[y]<<"\n";
    }
    return 0;
}

A. Round Down the Price

Problem - A - Codeforces

思路:a-b=c,要求b,可以转化为a-c=b

完整代码:

#include <bits/stdc++.h>
#define int long long
int len,n,m;
signed main()
{
    int t;
    std::cin >> t;
    while(t --)
    {
        std::cin >> n;
        m=n;
        while(m!=0)
        {
            m/=10;
            len++;
        }
        //std::cout<<"len "<<len<<"\n";
        int num=pow(10,len-1);
        //std::cout<<"num"<<num<<"\n";
        std::cout<<n-num<<"\n";
        len=0;
    }

    return 0;
}

B. Polycarp Writes a String from Memory

Problem - B - Codeforces

题意:每天只能记三个字母,问要多少天才能把单词背完

注意:考虑边界 如:test这种单词在一天就可以记完

完整代码:

#include <bits/stdc++.h>
#define int long long
signed main()
{
    int t;
    std::cin >> t;
    while(t --)
    {
        std::string s;
        std::cin >> s;
        std::set<char>st;
        int num=0,ans=0;
        int len=s.length();
        for(int i = 0;i < len;i ++)
        {
            char ss=s[i];
            if(st.find(ss)!=st.end())
            {
                continue;
            }
            if(st.find(ss)==st.end())
            {
                num++;
                st.insert(ss);
                if(num%3==0)
                {
                    while(st.find(s[i])!=st.end())
                    {
                        i ++;
                    }
                    st.clear();
                    i --;
                }
            }
        }
        int a=num/3,b=num%3;
//        std::cout<<num<<"\n";
//        std::cout<<a <<" "<<b<< "\n ";
        if(b)
        {
            std::cout<<a+1<<"\n";
        }
        else
        {
            std::cout<<a<<"\n";
        }
    }
    return 0;
}

文章来源:https://blog.csdn.net/weixin_73793099/article/details/135740275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。