第十一届蓝桥杯大赛软件赛省赛 C/C++ 大学B组

试题 A: 跑步训练

在这里插入图片描述

// 3880
#include <iostream>
using namespace std;

int main() {
    int n = 10000;
    int minute = 0;
    while (n) {
        if (n - 600 <= 0) {
            cout << minute * 60 + n / 10;
            break;
        }
        n -= 600;
        n += 300;
        minute += 2;
    }
}

试题B:纪念日

在这里插入图片描述

// 52038720
#include <iostream>
using namespace std;

typedef long long ll;

int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int get_days(int year, int month) {
    if (month != 2) return months[month];
    if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) return 29;
    return 28;
}

int main() {
    ll res = 0;
    for (int i = 23; i <= get_days(1921, 7); ++ i)
        res ++ ;
    for (int i = 8; i <= 12; ++ i) {
        for (int j = 1; j <= get_days(1921, i); ++ j)
            res ++ ;
    }
    for (int i = 1922; i <= 2019; ++ i) {
        for (int j = 1; j <= 12; ++ j) {
            for (int k = 1; k <= get_days(i, j); ++ k)
                res ++ ;
        }
    }
    for (int i = 1; i <= 6; ++ i) {
        for (int j = 1; j <= get_days(2020, i); ++ j)
            res ++ ;
    }
    cout << res * 24 * 60;
}

试题C:合并检测

在这里插入图片描述

// 10
#include <iostream>
using namespace std;

int main() {
    int mi = 1e9, ans = -1;
    for (int k = 1; k <= 100; ++ k) {
        int t;
        if (100 % k == 0) {
            t = 100 / k + k;
        } else {
            t = 100 / k + 1 + k;
        }
        if (t < mi) {
            ans = k;
            mi = t;
        }
    }
    cout << ans;
}

试题D:REPEAT程序

在这里插入图片描述

// 403

试题E:矩阵

在这里插入图片描述

试题F:整除序列

试题G: 解码

试题H: 走方格

试题I: 整数拼接

试题J: 网络分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值