春季每日一题2022 Week 1 未完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了春季每日一题2022 Week 1 未完结相关的知识,希望对你有一定的参考价值。

目录

3346. 你知道你的ABC吗【排序】


#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. 放养但没有完全放养【贪心】


就看下一个字母是在它的前面还是后面,再后面说明可以是同一首,否则重新起一首。

#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. 牛年【模拟】



说明他们的相对位置是唯一确定的。

#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. 牛的学术圈 I【二分】


注意:每个论文最多加1.

#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. 奶牛体操【暴力】

#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. 单词处理器【模拟】

#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;

以上是关于春季每日一题2022 Week 1 未完结的主要内容,如果未能解决你的问题,请参考以下文章

2021春季每日一题week7 未完结

2021春季每日一题 week2 未完结

2021春季每日一题week5 未完结

2021春季每日一题week6 未完结

2021春季每日一题week3 未完结

2021春季每日一题 week1 未完结