洛谷 [语言月赛 202410] 题解(C++)

本文为洛谷 [语言月赛 202410] 的全部题解(最后一题太麻烦暂时给不出完整代码)

目录

题一:

题目大意和解答思路:

代码(C++):

题二:

题目大意和解答思路:

代码(C++):

题三:

题目大意和解答思路:

代码(C++):

题四:

题目大意和解答思路:

代码(C++):

题五:

题目大意和解答思路:

代码(C++):

题六:

题目大意和解答思路:

代码(C++):        

题七:

题目大意和解答思路:

代码(C++):

题八:

题目大意和解答思路:


题一:

B4042 [语言月赛 202410] 顺序结构 - 洛谷 | 计算机科学教育新生态

题目大意和解答思路:

根据题目对输入进来的变量a进行操作即可

代码(C++):

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);

    int a;
    std::cin >> a;
    std::cout << (a + 5) * 3 << " " << a * 3 + 5 << "\n";
}

题二:

题目大意和解答思路:

题目关键:

她想知道有哪些刻度和 a 厘米刻度的距离恰好是 b

比较a - b >= 0, 比较  a + b <= n

满足前者,就输出a - b
满足后者,就输出a + b
都不满足就输出No solution
注意b = 0 的时候,输出a

根据上面思路即可很快完成代码

我这里使用一个vector简化

代码(C++):

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    
    int n, a, b;
    std::cin >> n >> a >> b;
    if (b == 0) {
        std::cout << a << "\n";
        return 0;
    }

    std::vector<int> res;
    if (a - b >= 0) res.push_back(a - b);
    if (a + b <= n) res.push_back(a + b);

    if (res.empty()) {
        std::cout << "No solution\n";
    } else {
        for (int x : res) {
            std::cout << x << " ";
        }
        std::cout << "\n";
    }
}

题三:

B4045 [语言月赛 202410] 同桌 - 洛谷 | 计算机科学教育新生态

题目大意和解答思路:

就是说,现在是第一周的周六

然后每个课程都会在第一次课都会在第一周开始,w为星期几开始,d为隔几周开一次课

求下一次最近上课的需要隔多少天
 

都是周一到周五,所以没有其他的条件

直接算出每个课程下次上课的间隔,然后求出最小值即可

代码(C++):

int main() {
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);

    int n;
    std::cin >> n;

    int res = 14 * 7; //d 最大为14,所以可以初始化14 * 7
    for (int i = 0; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值