zoukankan      html  css  js  c++  java
  • Codeforces 1154

    链接:https://codeforces.com/contest/1154


    A - Restoring Three Numbers - [水]

    #include<bits/stdc++.h>
    using namespace std;
    
    int a[4];
    int main()
    {
        cin>>a[0]>>a[1]>>a[2]>>a[3];
        sort(a,a+4);
        for(int i=0;i<=2;i++) printf("%d ",a[3]-a[i]);
    }

    B - Make Them Equal - [分类讨论]

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=105;
    int n;
    int a[maxn];
    bool vis[maxn];
    
    bool check(int x,int p)
    {
        for(int i=1;i<=n;i++)
        {
            if(a[i]+x==p || a[i]==p || a[i]-x==p) continue;
            return 0;
        }
        return 1;
    }
    int main()
    {
        cin>>n;
    
        int cnt=0;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            if(!vis[a[i]]) vis[a[i]]=1, cnt++;
        }
    
        if(cnt==1){printf("0
    "); return 0;}
    
        if(cnt==2)
        {
            int min1=0, min2=0;
            for(int x=1;x<=100;x++)
            {
                if(vis[x])
                {
                    if(min1==0) min1=x;
                    else if(min2==0) min2=x;
                    else break;
                }
            }
            int D;
            if((min2-min1)%2==0) D=(min2-min1)/2;
            else D=min2-min1;
            cout<<D<<endl;
            return 0;
        }
    
        int min1=0, min2=0, min3=0;
        for(int x=1;x<=100;x++)
        {
            if(vis[x])
            {
                if(min1==0) min1=x;
                else if(min2==0) min2=x;
                else if(min3==0) min3=x;
                else break;
            }
        }
        if(min3-min2==min2-min1)
        {
            int D=min3-min2;
            if(check(D,min2)) cout<<D<<endl;
            else cout<<-1<<endl;
        }
        else cout<<-1<<endl;
    }

    C - Gourmet Cat

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    ll a,b,c;
    ll run(int st)
    {
        ll A=a, B=b, C=c;
        for(int i=st;i<=7;i++)
        {
            if(i==1 || i==4 || i==7)
            {
                if(A>0) A--;
                else return i-st;
            }
            else if(i==2 || i==6)
            {
                if(B>0) B--;
                else return i-st;
            }
            else if(i==3 || i==5)
            {
                if(C>0) C--;
                else return i-st;
            }
        }
        ll ans=7-st+1;
        ll num=min(min(A/3,B/2),C/2);
        ans+=num*7;
        A-=3*num, B-=2*num, C-=2*num;
        for(int i=1;;i++)
        {
            if(i==1 || i==4 || i==7)
            {
                if(A>0) A--;
                else return ans+i-1;
            }
            else if(i==2 || i==6)
            {
                if(B>0) B--;
                else return ans+i-1;
            }
            else if(i==3 || i==5)
            {
                if(C>0) C--;
                else return ans+i-1;
            }
        }
    }
    int main()
    {
        cin>>a>>b>>c;
        ll ans=0;
        for(int st=1;st<=7;st++)
        {
            ll res=run(st);
            //printf("%d: %I64d
    ",st,res);
            ans=max(ans,res);
        }
        cout<<ans<<endl;
    }

    D - Walking Robot - [贪心]


    E - Two Teams - [线段树+链表]


    F - Shovels Shop - [DP]


    G - Minimum Possible LCM - (Undone)

  • 相关阅读:
    程序员修炼之道读书笔记02
    程序员修炼之道读书笔记01
    2021年1月30日 体温上报app03(百度API的获取和配置方法)
    2021年1月28日 体温上报app02
    2021年1月27日 体温上报app01
    2021年1月26日 sqlite数据库
    2021年1月25日 列表与适配器
    16.CSS margin用法
    14.CSS 块级元素与行内元素
    12.CSS 简单认识margin
  • 原文地址:https://www.cnblogs.com/dilthey/p/10742353.html
Copyright © 2011-2022 走看看