【LGR-196-Div.4】洛谷入门赛 #26 题A - H 详细题解--优化思路简洁代码(C++,Python语言描述)

前言:

        觉得这个比赛很有意思的,都是暴力题,涉及一些细节,难度比较适合刚学编程语言的,可以很好的锻炼基础还有手速,最后两题也是比较有意思,之后也准备更新atc的比赛题解和洛谷的一些高质量比赛题解(算法网瘾就是想参加各种比赛)

      如果觉得有帮助,或者觉得我写的好,可以点个赞或关注,也可以看看我的一些其他文章,我之后也会更新一些基础算法详细解释

比赛链接:

【LGR-196-Div.4】洛谷入门赛 #26 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

目录

题A:

题目大意和解题思路:

代码(C++):

代码(Python):

题B:

题目大意和解题思路:

代码(C++):

代码(Python):

题C:

题目大意和解题思路:

代码(C++):

代码(Python):

题D:

题目大意和解题思路:

代码(C++):

代码(Python):

题E:

题目大意和解题思路:

代码(C++):

代码(Python):

题F:

题目大意和解题思路:

代码(C++):

代码(Python):

题G:

题目大意和解题思路:

代码(C++):

代码(Python):

题H:

题目大意和解题思路:

代码(C++):

代码(Python):


题A:

B4017 [语言月赛 202408] 相识于 2016 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目大意和解题思路:

2018年8月是认识的第一个月,现在输入年和月,问认识了几个月

不需要管理月份大小的,只要月份小于8,那么表示肯定不是同一年

需要注意的是8月是第一个月,也就是7月是第0个月,减7就可以了

所以res = (x - 2016) * 12 + (y - 7) 

代码(C++):

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int x, y;
    std::cin >> x >> y;
    int res = (x - 2016) * 12 + (y - 8) + 1;
    std::cout << res << std::endl;
}

代码(Python):

def main():
    x, y = map(int, input().split())
    res = (x - 2016) * 12 + (y - 7)
    print(res)

题B:

B4018 [语言月赛 202408] 游戏与共同语言 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目大意和解题思路:

  • 胜局数者排名靠前
  • 若胜局数相同,净胜数者排名靠前
  • 若净胜数仍相同,平局记录者排名靠前
  • 不存在平局记录仍相同的情况

简单的判断就行,一个一个写就不会出错了

代码(C++):

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int wa, ca, ta, wb, cb, tb;
    std::cin >> wa >> ca >> ta >> wb >> cb >> tb;
    bool f = 0;
    if (wa == wb) {
        if (ca == cb) {
            if (ta > tb) {
                f = 1;
            } else {
                f = 0;
            }
        } else if (ca > cb) {
            f = 1;
        } else {
            f = 0;
        }
    } else if (wa > wb) {
        f = 1;
    } else {
        f = 0;
    }
    if (f) {
        std::cout << "A" << std::endl;
    } else {
        std::cout << "B" << std::endl;
    }
}

代码(Python):

def main():
    wa, ca, ta = map(int, input().split())
    wb, cb, tb = map(int, input().split())
    f = 0
    if wa == wb:
        if ca == cb:
            if ta > tb:
                f = 1
            else:
                f = 0
        elif ca > cb:
            f = 1
        else:
            f = 0
    elif wa > wb:
        f = 1
    else:
        f = 0
    if f == 1:
        print("A")
    else:
        print("B")

题C:

B4019 [语言月赛 202408] 皆与生物有缘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目大意和解题思路:

本题就是求两名老师评分总分的平均值,向上取整

向上取整,加上除数减一就行了,这里的除数是2,那么就在总数上加一

代码(C++):

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int n, x1 = 0, x2 = 0;
    std::cin >> n;
    int x;
    for (int i = 0; i < n; i++) {
        std::cin >> x;
        x1 += x;
    }
    for (int i = 0; i < n; i++) {
        std::cin >> x;
        x2 += x;
    }
    int res = (x1 + x2 + 1) / 2;
    std::cout << res << std::endl;
}

代码(Python):

def main():
    n = int(input())
    a1 = list(map(int, input().split()))
    a2 = list(map(int,
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值