Spring Daily Question 2022 Week 1 [Unfinished]

3346. Do you know your ABC [sort]

insert image description here
insert image description here

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL a[15];
int main(void)
{
    
    
    for(int i=0;i<7;i++) cin>>a[i];
    sort(a,a+7);
    LL b=a[6]-a[4];
    LL a1=a[6]-a[5];
    LL c=a[6]-a1-b;
    cout<<a1<<" "<<b<<" "<<c<<endl;
    return 0;
}

3358. Stocking but not completely stocking 【greed】

insert image description here
It depends on whether the next letter is in front or behind it, and then it can be the same song, otherwise start a new one.

#include<bits/stdc++.h>
using namespace std;
string a,b;
int cnt[35];
int main(void)
{
    
    
    cin>>a>>b;
    for(int i=0;i<a.size();i++) cnt[a[i]-'a']=i;
    int last=-1,ans=1;
    for(int i=0;i<b.size();i++)
    {
    
    
        if(cnt[b[i]-'a']>last) last=cnt[b[i]-'a'];
        else ans++,last=cnt[b[i]-'a'];
    }
    cout<<ans;
}

3370. Year of the Ox 【Analog】

insert image description here
insert image description here
Explain that their relative positions are uniquely determined.

#include<bits/stdc++.h>
using namespace std;
map<string,int>mp;
map<string,int>d;
string s[12]={
    
    "Ox","Tiger","Rabbit","Dragon","Snake","Horse","Goat","Monkey","Rooster","Dog","Pig","Rat"};
int main(void)
{
    
    
    int t; cin>>t;
    mp["Bessie"]=0,d["Bessie"]=0;
    string a; getline(cin,a);
    for(int i=0;i<t;i++)
    {
    
    
        getline(cin,a);
        string name1=a.substr(0,a.find(' '));
        string name2=a.substr(a.rfind(' ')+1);
        int k=0;
        for(int i=0;i<12;i++)//找到属相
        {
    
    
            if(a.find(s[i])!=-1)
            {
    
    
                k=i; break;
            }
        }
        mp[name1]=k;
        if(a.find("previous")!=-1)
        {
    
    
            if(mp[name1]>=mp[name2]) d[name1]=d[name2]-(12-mp[name1]+mp[name2]);//上一周期
            else d[name1]=d[name2]-(mp[name2]-mp[name1]);//同一周期
        }else
        {
    
    
            if(mp[name1]<=mp[name2]) d[name1]=d[name2]+(12-mp[name2]+mp[name1]);//下一周期
            else d[name1]=d[name2]+(mp[name1]-mp[name2]);//同一周期
        }
    }
    cout<<abs(d["Elsie"]);
    return 0;
}

3745. Niu's Academic Circle I [two points]

insert image description here
Note: add up to 1 per paper.

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5+10;
LL n,m,a[N];
bool check(int mid)
{
    
    
    int cnt=0,sum=0;
    for(int i=n-1;i>=0;i--)
    {
    
    
        if(a[i]>=mid) cnt++;
        else
        {
    
    
            if(a[i]+1>=mid&&sum<m) sum++,cnt++;
            else break;
        }
    }
    return cnt>=mid;
}
int main(void)
{
    
    
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>a[i];
    sort(a,a+n);
    int l=0,r=n;
    while(l<r)
    {
    
    
        int mid=l+r+1>>1;
        if(check(mid)) l=mid;
        else r=mid-1;
    }
    cout<<l;
    return 0;
}

1459. Cow Gymnastics【Violence】

insert image description here

#include<bits/stdc++.h>
using namespace std;
const int N=25;
int a[N][N],n,m;
int main(void)
{
    
    
    cin>>m>>n;
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++) cin>>a[i][j];
    int ans=0;
    for(int i=1;i<=n;i++)
    {
    
    
        int cnt[N]={
    
    0};
        for(int j=0;j<m;j++)
        {
    
    
            int index=0;
            for(int k=0;k<n;k++)
                if(a[j][k]==i) {
    
    index=k;break;}//找到位置
            for(int k=index+1;k<n;k++) cnt[a[j][k]]++;//在他后面的
        }
        for(int j=1;j<=n;j++)
            if(cnt[j]==m) ans++;
    }
    cout<<ans;
    return 0;
}

1442. Word Processor 【Simulation】

insert image description here

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
string a[N];
int n,m;
int main(void)
{
    
    
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>a[i];
    int sum=0;
    for(int i=0;i<n;i++)
    {
    
    
        if(sum+a[i].size()<=m) cout<<a[i]<<" ",sum+=a[i].size();
        else puts(""),sum=a[i].size(),cout<<a[i]<<" ";
    }
    return 0;
}

Guess you like

Origin blog.csdn.net/qq_46527915/article/details/123569245