2.17打卡

算法组-赵芳舟 2024-02-17 22:07:55

2.17打卡

1041 考试座位号

#include<iostream>
using namespace std;
struct Student{
    string num;
    int try_l;
    int test_l;
};
int main()
{
    int N;
    cin>>N;
    struct Student sarray[N];
    for(int i=0;i<N;i++)
    {
        cin>>sarray[i].num;
        cin>>sarray[i].try_l;
        cin>>sarray[i].test_l;
    }
    int M;
    cin>>M;
    for(int i=0;i<M;i++)
    {
        int n;
        cin>>n;
        for(int j=0;j<N;j++)
        {
            if(sarray[j].try_l==n)
            {
                cout<<sarray[j].num<<" "<<sarray[j].test_l<<endl;
            }
        }
    }
    system("pause");
    return 0;
}

1042 字符统计

#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<set>
#include<cctype>
#include<algorithm>
using namespace std;
int cmp(pair<char,int> a, pair<char,int> b) {
    if(a.second==b.second)
    {
        return a.first<b.first;
    }
    return a.second > b.second;
}
int main()
{
    string s;
    getline(cin,s);
    set<char> s1;
    map<char,int> m1;
    for(int i=0;i<s.size();i++)
    {
        if(isalpha(s[i]))
        {
            char c=s[i];
            if(isupper(c))
            {
                c=tolower(c);
            }
            if(s1.count(c)==0)
            {
                s1.insert(c);
                m1[c]=1;
            }
            else if(s1.count(c)==1)
            {
                m1[c]+=1;
            }
        }
    }
    vector<pair<char,int>> vec;
    map<char,int>::iterator it;
    for(it = m1.begin();it != m1.end(); it++)
    {
        vec.push_back(pair<char,int>(it->first,it->second));
    }
    sort(vec.begin(),vec.end(),cmp);
    it=m1.begin();
    cout<<vec[0].first<<" "<<vec[0].second<<endl;
    system("pause");
    return 0;
}

1043 输出PATest

#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
    string s0;
    cin>>s0;
    int P=0;
    int A=0;
    int T=0;
    int e=0;
    int s=0;
    int t=0;
    for(int i=0;i<s0.size();i++)
    {
        if(s0[i]=='P')
        {
            P+=1;
        }
        else if(s0[i]=='A')
        {
            A+=1;
        }
        else if(s0[i]=='T')
        {
            T+=1;
        }
        else if(s0[i]=='e')
        {
            e+=1;
        }
        else if(s0[i]=='s')
        {
            s+=1;
        }
        else if(s0[i]=='t')
        {
            t+=1;
        }
    }
    while(P!=0||A!=0||T!=0||e!=0||s!=0||t!=0)
    {
        if(P!=0)
        {
            cout<<"P";
            P--;
        }
        if(A!=0)
        {
            cout<<"A";
            A--;
        }
        if(T!=0)
        {
            cout<<"T";
            T--;
        }
        if(e!=0)
        {
            cout<<"e";
            e--;
        }
        if(s!=0)
        {
            cout<<"s";
            s--;
        }
        if(t!=0)
        {
            cout<<"t";
            t--;
        }
    }
    system("pause");
    return 0;
}

1044 火星数字

#include<iostream>
#include<cctype>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    int N;
    cin>>N;
    getchar();
    vector<string> v1={"tret","jan", "feb", "mar", "apr", "may", "jun", "jly", "aug","sep", "oct", "nov", "dec"};
    vector<string> v2={"0","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};
    for(int i=0;i<N;i++)
    {
        string s;
        getline(cin,s);
        if(isdigit(s[0]))
        {
            int n=stoi(s);
            vector<int> v3;
            if(n==0)
            {
                v3.push_back(0);
            }
            while(n!=0)
            {
                v3.push_back(n%13);
                n/=13;
            }
            if(v3.size()==1)
            {
                cout<<v1[v3[0]]<<endl;
            }
            else if(v3.size()==2)
            {
                cout<<v2[v3[1]];
                if(v3[0]!=0)
                {
                    cout<<" "<<v1[v3[0]];
                }
                cout<<endl;
            }
        }
        else if(isalpha(s[0]))
        {
            if(s.size()==3||s.size()==4)
            {
                int n=-1;
                for(int i=0;i<v1.size();i++)
                {
                    if(v1[i]==s)
                    {
                        n=i;
                    }
                }
                if(n>=0)
                {
                    cout<<n<<endl;
                }
                else if(n==-1)
                {
                    for(int i=0;i<v2.size();i++)
                    {
                        if(v2[i]==s)
                        {
                            n=i;
                        }
                    }
                    cout<<n*13<<endl;
                }
            }
            else
            {
                string s1(s,0,3);
                string s2(s,4,7);
                int n1,n2;
                for(int i=0;i<v2.size();i++)
                {
                    if(v2[i]==s1)
                    {
                        n1=i;
                    }
                }
                for(int i=0;i<v1.size();i++)
                {
                    if(v1[i]==s2)
                    {
                        n2=i;
                    }
                }
                int ans=n1*13+n2;
                cout<<ans<<endl;
            }
        }
    }
    system("pause");
    return 0;
}

1045 快速排序

#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int N;
    cin>>N;
    priority_queue<int,vector<int>,greater<int> > p1;
    vector<int> num(N);
    vector<int> maxnum(N);
    vector<int> minnum(N);
    int max=-1,min=1000000009;
    for(int i=0;i<N;i++)
    {
        cin>>num[i];
        if(num[i]>max)
        {
            max=num[i];
        }
        maxnum[i]=max;
    }
    for(int i=N-1;i>=0;i--)
    {
        if(num[i]<min)
        {
            min=num[i];
        }
        minnum[i]=min;
    }
    for(int i=0;i<N;i++)
    {
        if(num[i]>=maxnum[i]&&num[i]<=minnum[i])
        {
            p1.push(num[i]);
        }
    }
    int temp=0;
    cout<<p1.size()<<endl;
    while(p1.empty()!=1)
    {
        if(temp==1)
        {
            cout<<" ";
        }
        cout<<p1.top();
        temp=1;
        p1.pop();
    }
    cout<<endl;
    system("pause");
    return 0;
}
...全文
175 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

325

社区成员

发帖
与我相关
我的任务
社区描述
一个供Leaders学习交流的地方
c++javapython 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • 叫我胡萝北
  • CheungZzzc
  • szu_gexu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧