zoukankan      html  css  js  c++  java
  • 2020-07-04 热身训练赛(四)

    A.(Gym-101992A)

    B.排列(Gym-101992B)

    题意:给出一个长度为n的序列,只能对其施加添加一个数字和删除一个数字的操作,求最少需要多少次能把序列变成1~p的排列(p不知道)。

    解:枚举p,求最小值

    #include<iostream>
    #include<cstdio>
    #include<map>
    using namespace std;
    int T,n,ans;
    map<int,bool>p;
    int main(){
        freopen("task.in","r",stdin);
        scanf("%d",&T);
        int x;
        while(T--){
            p.clear();
            scanf("%d",&n);
            ans=n+1;
            for(int i=1;i<=n;i++){
                scanf("%d",&x);
                p[x]=1;
            }
            int cnt=0;
            for(int i=1;i<=n*2;i++){
                if(p[i])cnt++;
                ans=min(ans,n+i-cnt*2);
            }
            printf("%d
    ",ans);
        }
        return 0;
    }

    C.(Gym-101992C)

    D.(Gym-101992D)

    E.(Gym-101992E)

    F.赛跑(Gym-101992F)

    题意:上次比赛的平均成绩为N,这次比赛目前的总成绩为M,已经赛完X场,还有Y场尚未开始。求接下来的Y场需要拿到多少分才能使得本次的平均成绩大于等于上次的。

    解:题意用方程表示为$Nleq frac{M+a}{X+Y}$(a为待求量)。整理可得$ageq N(X+Y)-M$,还需要判断一下是否已经输了或者赢了。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int T,N,M,X,Y;
    int main(){
        freopen("mosalah.in","r",stdin);
        scanf("%d",&T);
        while(T--){
            scanf("%d%d%d%d",&N,&M,&X,&Y);
            if(N*(X+Y)<=M){
                puts("0");
            }
            else if(Y==0&&N*(X+Y)>M){
                puts("-1");
            }
            else {
                int ans=N*(X+Y)-M;
                printf("%d
    ",ans);
            }
        }
        return 0;
    }

    G.(Gym-101992G)

    H.(Gym-101992H)

    I.(Gym-101992I)

    J.(Gym-101992J)

    K.(Gym-101992K)

    L.(Gym-101992L)

    M.(Gym-101992M)

  • 相关阅读:
    iOS-延迟操作方法总结
    IOS开发调整UILabel的行间距
    day16 包和random模块 time模块 进度条
    day15 软件开发规范 日志输出和序列化反序列化
    day14 列表生成式 生成器表达式 模块
    day13 函数三元表达式,递归
    day11 装饰器
    day10作用域与闭包
    day9 函数的形参和实参
    day8 函数
  • 原文地址:https://www.cnblogs.com/thmyl/p/13236029.html
Copyright © 2011-2022 走看看