黑龙江工程学院春季集训队选拔赛

C:

解题思路:

遍历最小的数,将两个数的每一位相加作比较,如果大于等于10直接输出Hard,遍历完后都小于10就输出Easy,题目本身也很Easy,注意数据范围,int会爆。

下面是c++代码:

#include<iostream>
using namespace std;
int main()
{
    unsigned long long a,b,A,B;
    int aL = 0,bL = 0,index = 1;
    cin >> a >> b;
    A = a,B = b;
    if(a > b){
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
    }
    while(A != 0){
        A /= 10;
        aL++;
    }
    while(B != 0){
        B /= 10;
        bL++;
    }
    for(int i = 1;i <= aL;i++){
        if(a % 10 + b % 10 >= 10){
            index = 0;
            break;
        }
        a /= 10,b /= 10;
    }
    if(index == 1){
        cout << "Easy";
    }else{
        cout << "Hard";
    }
    return 0;
}

E:

解题思路:

将三天成绩加起来存到一个数组中,再创建一个数组存成绩,然后排序第一个数组,遍历第二个数组,当某个人的成绩 + 300大于排序数组的第n - k项,输出Yes,否则No。

下面是c++代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n,k,a,b,c;
    cin >> n >> k;
    int * arr =new int[n];
    int * brr = new int[n];
    for(int i = 0;i < n;i++){
        cin >> a >> b >> c;
        arr[i] = a + b + c;
        brr[i] = arr[i];
    }
    sort(arr,arr + n);
    for(int i = 0;i < n;i++){
        if(brr[i] + 300 >= arr[n - k]){
            cout << "Yes" << endl;
        }else{
            cout << "No" << endl;
        }
    }
    return 0;
}

F:

解题思路:

创建一个数组,0表示不知道秘密,1表示知道brr[arr[i] - 1]表示这个小伙伴把秘密分享给了第i - 1个小伙伴,就加加,知道秘密的人数加一,如果brr[i]大于1说明消息又传回来了,结束循环,输出知道秘密的数量

下面是c++代码:

#include<iostream>
using namespace std;
int main()
{
    int n,x,sum = 1;
    cin >> n >> x;
    int * arr = new int[n];
    int * brr = new int[n]{0};
    brr[x - 1] = 1;
    for(int i = 0;i < n;i++){
        cin >> arr[i];
    }
    while(1){
        brr[arr[x - 1] - 1]++;
        if(brr[arr[x - 1] - 1] > 1){
            break;
        }
        x = arr[x - 1];
        sum++;
    }
    cout << sum;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值